Обсуждение [PHP] Выбор БД на файлах

X-ray

Шустроган
Старейшина
Токенов DAPF
140.42
Репутация
Сабж, выбираю файловую БД, интересует наиболее шустрая и менее требовательная к CPU.
На данный момент я выбираю между MooSQL, Jsondb, DBF, MongoDB, кто работал с ними отписываемся о +/- и скорости.
Так же можете посоветовать и другие варианты.
 
Они вообще все из разных категорий, одни реляционные другие нереляционные. Да и сами базы данных по сути все файловые, лулз, хочешь файловую - BerkleyDB
 
Они вообще все из разных категорий, одни реляционные другие нереляционные. Да и сами базы данных по сути все файловые, лулз, хочешь файловую - BerkleyDB
Это пох, нужна БД примерно такого типа 1 файл = 1 таблица управляется через классы (предпочтительнее) либо подключаемые библиотеки к php.
Berkley не вариант, тянуть монстра для простой задачи - я еще не на столько ебанулся.

З.Ы. Могу конечно сам написать такую БД, но вдруг, что есть уже готовое.
 
Нашел еще несколько похожих на то что надо :)
PHP Text Database
filesDataStorage
Вот только на сколько они будут быстрее SQLite :bw:
 
Нашел еще несколько похожих на то что надо :)
PHP Text Database
filesDataStorage
Вот только на сколько они будут быстрее SQLite :bw:
Юзай лучше проверенное, чем хз что
 
Суть темы в том и есть, чтобы проверять.
Я их проверю, возьму 100 000 значений померю скорость работы, а потом выберу лучший вариант по результатам тестов, но если кто уже делал подобные тесты пусть отпишутся, чтобы мне лишний раз не терять время :)

З.Ы. Основной упор БД на чтение и поиск значений в таблице/каталоге.
 
Суть темы в том и есть, чтобы проверять.
Я их проверю, возьму 100 000 значений померю скорость работы, а потом выберу лучший вариант по результатам тестов, но если кто уже делал подобные тесты пусть отпишутся, чтобы мне лишний раз не терять время :)

З.Ы. Основной упор БД на чтение и поиск значений в таблице/каталоге.
Синтетические тесты ничего не покажут, в продакшене отвалится да и все
 
mySQL с модулем handlersocket.
Оптимально и быстро.
Плюсы:
1. есть офф либы для работы с mySQL как noSQL БД
2. Тесты показали работу в 5 раз быстрее чем обращение на прямую к БД
Благодаря модулю hadlersocket обращение к бд происходит на уровне noSQL.

Личный опыт: 300 тыс записей/сек

Sphinx
- Поисковой движек, достаточно быстрый.
Плюсы:
1. Готовый поисковой движек
2. Возможность обращения и создания морфологического поиска
3. благодаря sphinxQL можно использовать с использованием SQL подобного языка для работы с бд.
Личный опыт: sphinxQL гоняли на высоких нагрузках до 70 тысяч пользователей в день, при постоянной нагрузке на портал 45 - 50 тыс в час.
 
Последнее редактирование:
mySQL с модулем handlersocket.
Оптимально и быстро.
Плюсы:
1. есть офф либы для работы с mySQL как noSQL БД
2. Тесты показали работу в 5 раз быстрее чем обращение на прямую к БД
Благодаря модулю hadlersocket обращение к бд происходит на уровне noSQL.

Личный опыт: 300 тыс записей/сек

Sphinx
- Поисковой движек, достаточно быстрый.
Плюсы:
1. Готовый поисковой движек
2. Возможность обращения и создания морфологического поиска
3. благодаря sphinxQL можно использовать с использованием SQL подобного языка для работы с бд.
Личный опыт: sphinxQL гоняли на высоких нагрузках до 70 тысяч пользователей в день, при постоянной нагрузке на портал 45 - 50 тыс в час.

Рэй ищет ж легковесную бд. Куда там тянуть MySQL? Зачем вообще юзать NoSQL костыль для реляционной базы? Это бред, как минимум. Поисковой движок тут накуй не нужен, зачем?
 
Рэй ищет ж легковесную бд. Куда там тянуть MySQL? Зачем вообще юзать NoSQL костыль для реляционной базы? Это бред, как минимум. Поисковой движок тут накуй не нужен, зачем?
noSQL костыль?
Во-первых, handlersocket это модуль(что это такое думаю разъяснять не надо). Это далеко не костыль, не стоит путать эти понятия. Все равно, что сравнивать memcache и memcached.

Считаю, что разъяснять, что же такое sphinx нет надобности, а рассказывать, что такое sphinxQL так же не вижу особой надобности.
В данной теме я не советовал Рэю использовать поисковой движек, а советую использовать лишь его функции хранилища. Ввиду того, что скорость работы со sphinx'ом даже в SQL подобном стиле достаточно велика. А его требования к ресурсам просто мизерны, не говоря уже об самом сорсе сфинкса.
Поэтому не вижу проблем использовать sphinx в качестве файловой БД для работы с данными.

Не считаю зазорным использовать sphinx не по прямому назначению. А его функции прямого назначения могут понадобится при поиске быстром поиске по индексам.
 
Последнее редактирование:
noSQL костыль?
Во-первых, handlersocket это модуль(что это такое думаю разъяснять не надо). Это далеко не костыль, не стоит путать эти понятия. Все равно, что сравнивать memcache и memcached.

Считаю, что разъяснять, что же такое sphinx нет надобности, а рассказывать, что такое sphinxQL так же не вижу особой надобности.
В данной теме я не советовал Рэю использовать поисковой движек, а советую использовать лишь его функции хранилища. Ввиду того, что скорость работы со sphinx'ом даже в SQL подобном стиле достаточно велика. А его требования к ресурсам просто мизерны, не говоря уже об самом сорсе сфинкса.
Поэтому не вижу проблем использовать sphinx в качестве файловой БД для работы с данными.

Не считаю зазорным использовать sphinx не по прямому назначению. А его функции прямого назначения могут понадобится при поиске быстром поиске по индексам.
Не надо мне ничего объяснять, я и так прекрасно знаю что это. Я тебе не об этом, я тебе о том что MySQL реляционная база и использовать для неё плагин для организации NoSQL не естественно.
Во вторых, Sphinx не нужна тут в том случае, что она на то и поисковая (для сложных выборок каких либо). Это вообще не база данных, это полнотекстовая система поиска.
В третьих, ты сейчас сравниваешь SQLite и Sphinx - это вообще нормально? (Потому что просили легковесную базу данных, а не тащить систему полнотекстового поиска вместе MySQL)
 
Просмотрел несколько БД. Всё это хорошо, но я теперь начал склоняться к организации хранения данных по типу игр от некки. Данная система неплохо себя зарекомендовала под высокими нагрузками.
Если кратко это напоминает, что-то типа системы сейвов как в клиентских играх, где для каждого юзера используется отдельный сейв-файл содержащий основную информацию о нем.
 
Отталкиваемся от необходимости. Для чего тебе она нужна ?
 

Похожие темы

Сверху