Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - наиболее быстрая субд

Ответить
Настройки темы
Прочие БД - наиболее быстрая субд
jah jah вне форума

Старожил


Сообщения: 215
Благодарности: 7

Профиль | Отправить PM | Цитировать


Здравствуйте!

Прошу совета: какая база данных наиболее подходит для хранения сотен миллионов записей?

Очевидно, при запросе нагрузка получится большой на любую из них, вопрос в том, какая лучше справится с этой нагрузкой, то есть отдаст ответ максимально быстро (желательно не более 2-3 минут).
Также хотелось бы узнать у какой субд больше путей оптимизации для увеличения производительности и какие это пути помимо индексирования.

Ещё один вопрос, который возможно вытечет из предыдущих: что делать если все субд будут довольно долго справляться с нагрузкой, как в этом случае увеличить производительность?

Спасибо!

PS: ну и конечно предстоит долгий процесс испытаний

Отправлено: 07:18, 19-04-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


jah, недостаточно исходных данных для осмысленного ответа.

По существу вопроса: «производительность», «нагрузка» и «подходит для хранения» это разные вещи. Тем не менее, успех реализации определяется преимущественно качественным анализом предметной области и тщательным планированием концептуальной модели базы данных. И только затем переходят к выбору конкретной СУБД. У Вас, к сожалению, предметная область даже примерно не обозначена.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:09, 19-04-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

jah jah вне форума Автор темы

Старожил


Сообщения: 215
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата Iska:
jah, недостаточно исходных данных для осмысленного ответа.
По существу вопроса: «производительность», «нагрузка» и «подходит для хранения» это разные вещи. Тем не менее, успех реализации определяется преимущественно качественным анализом предметной области и тщательным планированием концептуальной модели базы данных. И только затем переходят к выбору конкретной СУБД. У Вас, к сожалению, предметная область даже примерно не обозначена. »
извиняюсь, если не совсем точно выразил свою мысль
в данном случае для вопроса я подразумевал максимальную простоту всего

например,
структура - одна таблица с двумя строковыми полями по 20 символов
для конкретности, пусть одно поле будет именем человека, а второе - его ником, то есть таблица наводит соответствие между именем и ником
имена могут повторяться, ники изредка тоже
в таблице накопилась сотня миллионов записей
осуществляется один простой запрос на выборку всех имён, у которых, например, ник такой-то

интересует какая субд лучше справится с такой нагрузкой, какие специальные средства есть у субд, чтобы "выиграть" у других и как ускорить процесс, если все субд справятся плохо

далее можно усложнять структуру, запросы и т.п.

Отправлено: 14:14, 19-04-2014 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата jah:
структура - одна таблица с двумя строковыми полями по 20 символов
для конкретности, пусть одно поле будет именем человека, а второе - его ником, то есть таблица наводит соответствие между именем и ником
имена могут повторяться, ники изредка тоже »
Вот про это я и говорил. В этой таблице ни первое, ни второе поле, ни их совокупность не могут выступать в качестве ключевого. Т.е., как минимум нужно будет ещё одно уникальное поле.

Цитата jah:
далее можно усложнять структуру, запросы и т.п. »
Ещё раз:
Цитата Iska:
успех реализации определяется преимущественно качественным анализом предметной области и тщательным планированием концептуальной модели базы данных. И только затем переходят к выбору конкретной СУБД. »
Ошибки в проектировании структуры обходятся весьма дорого, и псу под хвост идут сотни и тысячи человеко-часов работы.

По сути: на мой взгляд, на объёме 100,000,000*((20+20)*2)/2^30 ≈ 7.45 Gb — за «не более 2-3 минут» справится любой сервер. Даже скрипт на весьма старом железе справляется на текстовом файле (т.е., ни разу не файл прямого доступа) при доступе к нему по OLE DB за немногим большее время:
читать дальше »
Цитата:
Файл лога имел размер 630 915 078 байт, все записи (строки) без условий выбираются примерно за 80 сек. (5 223 755 строк). С условиями (WHERE): 164 117 строк примерно за 70 сек., 2 228 строк примерно за 44 сек., ноль строк примерно за те же 44 сек.
WinXP SP2, 512Мб памяти, Celeron D 3.0GHz.
Что уж говорить про SQL сервер на серверном железе.


По вопросам сравнительной производительности конкретных серверов попробуйте задать Ваш вопрос на специализированном форуме, типа SQL.RU и т.п. Правда, боюсь, и там можно будет вместо ответа нарваться на эпичный срач, наподобие этого.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:09, 19-04-2014 | #4

jah jah вне форума Автор темы

Старожил


Сообщения: 215
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата Iska:
Вот про это я и говорил. В этой таблице ни первое, ни второе поле, ни их совокупность не могут выступать в качестве ключевого. Т.е., как минимум нужно будет ещё одно уникальное поле. »
если просто наличие ключевого поля (которое так-то предполагалось) помогает субд ускорить выполнение этого запроса, то я об этом не знал

Цитата Iska:
Ошибки в проектировании структуры обходятся весьма дорого, и псу под хвост идут сотни и тысячи человеко-часов работы. »
согласен, для меня это высший пилотаж, поэтому интересны решения применительно к рассматриваемому случаю, записей будут сотни миллионов, это точно, как их дробить или делать что-то ещё, это я и пытаюсь выяснить

Цитата Iska:
По сути: на мой взгляд, на объёме 100,000,000*((20+20)*2)/2^30 ≈ 7.45 Gb — за «не более 2-3 минут» справится любой сервер. Даже скрипт на весьма старом железе справляется на текстовом файле (т.е., ни разу не файл прямого доступа) при доступе к нему по OLE DB за немногим большее время:
« скрыть
Цитата:
Файл лога имел размер 630 915 078 байт, все записи (строки) без условий выбираются примерно за 80 сек. (5 223 755 строк). С условиями (WHERE): 164 117 строк примерно за 70 сек., 2 228 строк примерно за 44 сек., ноль строк примерно за те же 44 сек.
WinXP SP2, 512Мб памяти, Celeron D 3.0GHz.
Что уж говорить про SQL сервер на серверном железе. »
у меня ( i3 (2x3.5ГГц) 4Гб ОЗУ ) 2Гб на одном и том же разделе копируются почти 2 минуты
и байт в моём случае на порядок больше получается
понятно, что процедуры в субд специально оптимизированы и не совсем корректно делать такие сравнения, но если на простейшем запросе будут эти 2 минуты, то на более сложных запросах время выполнения увеличится в несколько раз (хотя бы 5-минутная задержка с учётом добавки времени на дальнейшую обработку полученных результатов (например, при использовании в веб-приложении) это в данном случае критично)

на следующей неделе начну тесты на боевом сервере (дома такого нет), поэтому цифры станут точнее

Цитата Iska:
По вопросам сравнительной производительности конкретных серверов попробуйте задать Ваш вопрос на специализированном форуме, типа SQL.RU и т.п. Правда, боюсь, и там можно будет вместо ответа нарваться на эпичный срач, наподобие этого. »
срача не надо, но если есть какие-либо соображения по этом поводу, буду только рад

Отправлено: 17:38, 19-04-2014 | #5


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата jah:
если просто наличие ключевого поля (которое так-то предполагалось) помогает субд ускорить выполнение этого запроса, то я об этом не знал »
Нет. Но без наличия ключа Вы не сможете корректно работать с таблицей, поскольку невозможно будет однозначно идентифицировать запись среди прочих: Нормальная форма — Википедия.

Цитата jah:
у меня ( i3 (2x3.5ГГц) 4Гб ОЗУ ) 2Гб на одном и том же разделе копируются почти 2 минуты »
«копируются», т.е. читаются, затем записываются. Это один файл или множество? Как с фрагментацией на разделе? Не в том дело.

Цитата jah:
и не совсем корректно делать такие сравнения »
Наоборот — совсем некорректно.

Цитата jah:
на следующей неделе начну тесты на боевом сервере (дома такого нет), поэтому цифры станут точнее »
Возьмите на «поиграться» Скачать Microsoft® SQL Server® 2012 Express с официального сайта Центра загрузок Microsoft (именно на «поиграться/оценить» — у бесплатной версии ограничения: 1 процессор, до 1 Gb памяти, до 10 Gb размер БД).
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:00, 19-04-2014 | #6

jah jah вне форума Автор темы

Старожил


Сообщения: 215
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата Iska:
«копируются», т.е. читаются, затем записываются. Это один файл или множество? Как с фрагментацией на разделе? Не в том дело. »
Цитата Iska:
Наоборот — совсем некорректно. »
возможно, в связи с некорректностью дальнейшего сравнения далее засечения времени не анализировал (тип самого диска также имел значение)

Цитата Iska:
Возьмите на «поиграться» Скачать Microsoft® SQL Server® 2012 Express с официального сайта Центра загрузок Microsoft (именно на «поиграться/оценить» — у бесплатной версии ограничения: 1 процессор, до 1 Gb памяти, до 10 Gb размер БД). »
да, буду пробовать

подошли к горячему: может есть какие-то соображения по поводу ms sql server, oracle database, mysql или какая-то другая субд имеют преимущества (сами по себе или вкупе со специальными средствами) по отношению к другим при работе с большим количеством записей

Отправлено: 18:40, 19-04-2014 | #7


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата jah:
подошли к горячему: может есть какие-то соображения по поводу ms sql server, oracle database, mysql или какая-то другая субд имеют преимущества (сами по себе или вкупе со специальными средствами) по отношению к другим при работе с большим количеством записей »
Я тут Вам не советчик: ни с Oracle николи не работал, ни с объёмами баз на терабайты.

Отправлено: 08:09, 20-04-2014 | #8

jah jah вне форума Автор темы

Старожил


Сообщения: 215
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата Iska:
Я тут Вам не советчик: ни с Oracle николи не работал, ни с объёмами баз на терабайты. »
спасибо и на этом, сам впервые столкнулся с такими объёмами
на данный момент имею только индексирование и, предполагая, что задача уже давно не новая, видимо придётся изобретать велосипед, попутно продолжая искать готовые решения

оттолкнулся отсюда
http://habrahabr.ru/post/147743/

пришёл досюда
http://www.oracle.com/us/products/da...iew/index.html

правда
Цитата:
This product is not available for purchase in Russia
http://ru.wikipedia.org/wiki/Exalytics
Цитата:
В качестве «инженерного программного обеспечения» (проходящего по прейскуранту для аппаратно-программных комплексов и являющегося фактически обязательным дополнением к ним) поставляется специализированная версия Timesten — «Timesten In-Memory Database for Exalytics» со стоимостью $300 за именованного пользователя или $34,5 тыс. за процессорную единицу[7] (процессорная единица в терминах Oracle означает 2 ядра архитектуры x86-64 или архитектуры SPARC T5, то есть на Exalytics X4-3 при процессорном лицензировании потребуется 20 процессорных единиц — $690 тыс., а на T5-8 — 64 процессорных единицы и $2,208 млн).

Последний раз редактировалось jah, 20-04-2014 в 09:06.


Отправлено: 08:50, 20-04-2014 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Прочие БД - наиболее быстрая субд

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Выбор СУБД pss Программирование и базы данных 23 20-07-2018 06:58
Прочие БД - Ошибка в СУБД fiers Программирование и базы данных 4 29-11-2010 23:18
Прочие БД - Разработка СУБД lxa85 Программирование и базы данных 1 18-11-2008 01:38
СУБД Firebird Attid О сайте и форуме 1 13-04-2007 23:13




 
Переход