|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
Пишу один WEB-проект. Основой является одна табличка, в которой будет очень много записей (данных). Поля - значения некоторых критериев для данной сущности (сущность - запись). Поля очень разные по типам (дата, время, целое, плавающие, строки и т.д.). И всё бы ничего, но в процессе работы системы должна будет выполняться сложная выборка, включая выборки вида (минимальное по некоторому полю имеющих одинаковые значения другого поля за определённое время/дату, содержащие часть строки в значении строкового поля) и т.д. (это как пример). Записей будет очень много и таблица постоянно будет расти. (для аналогии можно привести программу сбора статистики клика и систему обработки статистики по кликам) Вопрос такой: какую СУБД для этих нужд лучше выбрать, чтобы запросы были минимальными, производительность и скорость высокая при выборке и т.д. Сейчас выбрана MySQL, но боюсь что она может не "потянуть". Может имеет смысл выбрать какую-либо альтернативную базу? Есть ли спец. базы, адаптивные для работы с большими объёмами и серьёзной фильтрацией для большого количества данных по многим критериям? Или всё-таки использовать мускуль с правильно расставленными индексами и километровыми запросами. Спасибо за совет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 10:30 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
так...буду пробовать связку MySQL + MongoDB. Посмотрим, что получицца. Если у кого-то будут какие-то соображения, готов выслушать и заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 11:26 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
test_sql, А зачем сразу зоопарк плодить.. что-то одно выбрать не получается? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 12:37 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
test_sql, возможно, стоит просчитывать статистику не по запросу пользователя, а заранее и держать ее готовой для выдачи. если это допустимо условиями задачи, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 12:43 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
А какой порядок/объем используемых данных, какая дисковая подсистема, какой % от всех данных ожидается для агрегирования и сколько строк будет в результирующей выборке? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 13:06 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
alex_k, недопустимо. В системе есть возможность постоянно менять критерии. Но как вариант. Подумаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 13:16 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
alex_k, нет, такое недопустимо. Критерии выборки в процессе работы постоянно меняются. Но как вариант...развить вашу мысль можно. Спасибо, обдумаем. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 13:17 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
WEB-проектА какой порядок/объем используемых данных, какая дисковая подсистема, какой % от всех данных ожидается для агрегирования и сколько строк будет в результирующей выборке? Обрабатываться будет около 20 млн записей (в идеале), о дисковой подсистеме пока задумываться рано - но тут скорее всего проблем не будет (главное быстродействие), в результирующий выборке будет от ~3000 до 15000 запией. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 13:23 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
test_sqlтак...буду пробовать связку MySQL + MongoDB. Посмотрим, что получицца. Если у кого-то будут какие-то соображения, готов выслушать и заранее благодарен. Насколько я понял MongoDB не поддерживает JOIN(помимо основной таблицы, есть ещё и другие). Ну и на первое время так будет удобнее, просто прозеркалировать данные там и там...если отказаться от какой-то выбранной никогда не поздно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 13:25 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
test_sqlWEB-проектА какой порядок/объем используемых данных, какая дисковая подсистема, какой % от всех данных ожидается для агрегирования и сколько строк будет в результирующей выборке? Обрабатываться будет около 20 млн записей (в идеале), о дисковой подсистеме пока задумываться рано - но тут скорее всего проблем не будет (главное быстродействие) , в результирующий выборке будет от ~3000 до 15000 запией. Красиво сказано :) У меня на десктопе 20млн записей средней длинны 100байт, при агрегировании обрабатываются за 20 секунд в первый заход и за 2 секунды с закэшированными данными. На сервере соответсвенно 2 и 0.2 сек. Выборка по ключу микросекунды. Но это MS SQL/Oracle. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 13:48 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
MS SQL/Oracletest_sqlпропущено... Обрабатываться будет около 20 млн записей (в идеале), о дисковой подсистеме пока задумываться рано - но тут скорее всего проблем не будет (главное быстродействие) , в результирующий выборке будет от ~3000 до 15000 запией. Красиво сказано :) У меня на десктопе 20млн записей средней длинны 100байт, при агрегировании обрабатываются за 20 секунд в первый заход и за 2 секунды с закэшированными данными. На сервере соответсвенно 2 и 0.2 сек. Выборка по ключу микросекунды. Но это MS SQL/Oracle. Я в том плане, что "железо" будет, в разумных конечно пределах...Давайте не будем брать во внимание "железную" сторону вопроса. У меня на десктопе 20млн записей средней длинны 100байт, при агрегировании обрабатываются за 20 секунд в первый заход и за 2 секунды с закэшированными данными. На сервере соответсвенно 2 и 0.2 сек. Вопрос всё-таки был в выборе ПО а не сервера/десктопа, согласитесь же) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 13:58 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
test_sqlИли всё-таки использовать мускуль с правильно расставленными индексами и километровыми запросами. Спасибо за совет. Если ставить такую задачу серьёзно, то: Сложные меняющиеся запросы, фильтрующие по многим полям - означает СУБД с хорошим стоимостным оптимизатором Большой объём данных - означает необходимость в партиционировании Скорость и статистика - означает материализацию и query rewrite. Что всё вместе сводит проблему выбора подходящей БД почти что к единственному варианту :) Другой вопрос, что 20 млн записей на сегодня - вполне под силу моему ноуту, по крайней мере с ораклом. И вопрос в ожидаемой плотности запросов, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 14:06 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
Всем спасибо за ответы/советы и дискуссию. Пощуаю всё-таки mongoDB(хуже не будет). По последнему сообщению позиция вполне понятно. Ещё раз всем спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 14:27 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
test_sql Подскажите пожалуйста какую базу выбрать 1 которая есть 2 которую знаешь 3 которую знает знакомый гуру softwarer Сложные меняющиеся запросы, фильтрующие по многим полям - означает СУБД с хорошим стоимостным оптимизаторомЛибо дополнительные усилия для разработчика, чтобы сделать работу за оптимизатор. Полагаю, что там будет ужас, а не ужас-ужас-ужас. softwarer Большой объём данных - означает необходимость в партиционированииОпять же не факт. Описанные гигантские 20млн записей оставляют возможность ручного партиционирования на вьюхах. softwarer Скорость и статистика - означает материализацию и query rewrite.Или регламент обновления производных таблиц. softwarer Что всё вместе сводит проблему выбора подходящей БД почти что к единственному варианту :)Приличной стандартной СУБД с классическим, многократно опробованным подходом к дизайну базы. Ну или можете торить дорожку MongoDB ... |
|||
:
Нравится:
Не нравится:
|
|||
15.11.2011, 19:12 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
test_sqlПишу один WEB-проект. Основой является одна табличка, в которой будет очень много записей (данных). Поля - значения некоторых критериев для данной сущности (сущность - запись). Поля очень разные по типам (дата, время, целое, плавающие, строки и т.д.). И всё бы ничего, но в процессе работы системы должна будет выполняться сложная выборка, включая выборки вида (минимальное по некоторому полю имеющих одинаковые значения другого поля за определённое время/дату, содержащие часть строки в значении строкового поля) и т.д. (это как пример). Записей будет очень много и таблица постоянно будет расти. (для аналогии можно привести программу сбора статистики клика и систему обработки статистики по кликам) Вопрос такой: какую СУБД для этих нужд лучше выбрать, чтобы запросы были минимальными, производительность и скорость высокая при выборке и т.д. Сейчас выбрана MySQL, но боюсь что она может не "потянуть". Может имеет смысл выбрать какую-либо альтернативную базу? Есть ли спец. базы, адаптивные для работы с большими объёмами и серьёзной фильтрацией для большого количества данных по многим критериям? Или всё-таки использовать мускуль с правильно расставленными индексами и километровыми запросами. Спасибо за совет. Вы просто сядьте - и спокойно выучите одну из СУБД. И к Вам придет понимание, что на многих СУБД - даже халявных, Ваши задачи очень даже реализуемы. softwarerЧто всё вместе сводит проблему выбора подходящей БД почти что к единственному варианту :) Другой вопрос, что 20 млн записей на сегодня - вполне под силу моему ноуту, по крайней мере с ораклом. И вопрос в ожидаемой плотности запросов, конечно. http://dev.mysql.com/doc/refman/5.1/en/partitioning.html http://ru.wikipedia.org/wiki/MyISAM http://ru.wikipedia.org/wiki/InnoDB Не согласен с единственным вариантом. Представил его стоимость для реализации веб-проекта, начала опять подниматься температура ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 09:54 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
SERG12571 которая есть 2 которую знаешь 3 которую знает знакомый гуру + мильен ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 09:54 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
DeathHand, Вы не забыли про приличный оптимизатор? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2011, 19:01 |
|
Подскажите пожалуйста какую базу выбрать
|
|||
---|---|---|---|
#18+
softwarerDeathHand, Вы не забыли про приличный оптимизатор? Ну и пускай они там дальше свою статистику собирают - пойду на другой сайт, где все открывается! (с) разьеренный анонимус Или поставим васьмерку с RBO? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2011, 00:15 |
|
|
start [/forum/topic.php?fid=35&msg=37527155&tid=1552621]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 170ms |
0 / 0 |