Да хочется своё. для меня главное первоначально настроить базу, чтобы сайт мог развиваться, а то сколько времени в идеале уёдет на усовершенствование базы меня особо не напрягает я никуда не спешу.
SQL не может ни за что отвечать, это язык, но я кажется понимаю о чем вы. Если вы думаете, что внутри всех СУБД лежит один и тот же "движок" как в php, то это не так.
Каждая СУБД уникальная и состоит из нескольких частей. Я честно говоря уже давно в это не углублялся, и расскажу по памяти, так что за уточнениями в гугл.
Сначала запрос попадает в парсер, где он разбирается синтаксическим анализатором в дерево лексем.
Затем он преобразуется в набор операций реляционной алгебры и попадает в оптимизатор. Оптимизатор штука очень сложная. Основываясь на известных параметрах базы (наличии индексов, примерном количестве строк в таблицах (точное оптимизатор посчитать не успеет и пользуется обычно примерным количеством которое иногда обновляется), информации о разбиении по дерева индекса, другим параметрам (за подробностями в гугл) оптимизатор составляет план выполнения запроса. План запроса в MySQL вы можете посмотреть написав EXPLAIN перед SELECT.
Затем в соответствии с планом выполнения бэкэнд делает запросы в сторадж (подсистему хранения) и достает оттуда необходимые данные. Например строки по индексу или фулл скан или что-то еще. Сторадж соответственно эти запросы обрабатывает, извлекая данные из своих хранилищ. MySQL поддерживает, например, несколько стораджей myisam и innodb. Затем доставая эти данные бэкэнд формирует необходимую выборку, с помощью различных операций над множествами данных. Hash Join, Nested Loops, Merge Join, Sort, etc (подробности в гугл).
Затем выборка передается клиенту.
Это что касается селектов за скобками я оставляю вопросы обеспечения транзакционности при обновлении базы и прочее. Представьте что ваша программа должна обновлять данные таким образом, чтобы если в любой момент выключится свет данные не пострадали и остались либо в исходном либо в изменненом состоянии. Т.е. вы не можете просто взять и перезаписать текстовый файл (как вы это делали в своей текстовой базе), т.к. если на середине записи выключится свет, зависнет сервер, упадет метеорит, то данные будут полностью утеряны, что недопустимо в современных базах.
Все это вам придется либо реализовать самостоятельно, либо брать какие-то куски откуда-то и пытаться собрать их вместе, но тогда почему просто не взять готовую базу?
мне 22. мдаа что сказать наверное если я и вернусь к этому вопросу так этак лет через 5. когда уже буду знать с++ и прочие. по сути я хочу развернуть один проект на полную "сайт" и загнался тем что если взять вместе в целом на один сервер со всех сайтов поток пользователей то я могу остаться в яме. но я не учёл что я могу взять для себя отдельный хост и сервер когда уже конкретно раскручусь.
Спасибо за такой развёрнутый ответ. Мне аж не ловко. И в сёже мне нравится чё то придумывать такое чего ещё нет и в будущем я вернусь к этому вопросу. и не исключено что будущее за тем что каждый уважающий себя админ будет иметь свою личную базу данных.
Нет будущее за тем, чтобы каждый уважающий себя человек грамотно пользовался плодом трудов других людей, а не изобретал колесо. Постгре разрабатывается огромным числом людей с 1986 года. Я не понимаю зачем делать это еще раз.
Что вы хотите я не понимаю. "и загнался тем что если взять вместе в целом на один сервер со всех сайтов поток пользователей то я могу остаться в яме". Если вас интересует как сделать высоконагруженную систему, которая сможет обсулуживать сотни тысяч пользователей, то во первых эти решения в рамках существующих БД (см репликацию) и во вторых лучше бы решили вопрос как вам получить хотя бы первую тысячу в неделю.