Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / БД под большой веб проект / 22 сообщений из 22, страница 1 из 1
03.08.2008, 05:25
    #35467198
Neotvechy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
Есть большой соблазн заюзать под проект последний разработки MySQL (сердце к ним все время лежит). Речь идет о бд которая должна выдержать нагрузки: хранить свыше 50 миллионов записей. В секунду принимать свыше 10 000 поисковых запросов на 5 миллионов записей ну и одновременно 15 миллионов запросов на чтение и меньше 600 000 на запись...чего-то тут я начинаю сомневаться в MySQL на InnoDB)
Также БД должна отлично поддерживать транзакций и обьект view.
Конечно можно сказать что такие нагрузки могут уже выдержать системы основанные на распределенном вычислении. Но всеже в основу по надежности что лучше взять?
Часть своих программеров кричит о PostgreSQL, мол в ней функционала больше. Но мне она кажеться медленней. MSSQL со своим медленным субд и заявой от Микросовта "Это не мы..компы нормальные надо покупать" просто убивает)
Да и в качестве языков разработки будут взяты: PHP, Python.
...
Рейтинг: 0 / 0
03.08.2008, 12:47
    #35467286
DPH
DPH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
Если не сложно, опиши задачу поподробнее.
Есть у меня подозрение, что выбор БД - это самое простое, что в ней есть и зависит скорее от общей архитектуры и прочих требований...

А то 600 000 записей в секунду (пишущих транзакций, как я понимаю) звучит достаточно странно, такой поток редко когда бывает.

Какой характер нагрузки, какие запросы по каким данным, что и когда изменяется, можно ли объединять в блоки, какие требования к надежности и т.п.
Впрочем, судя по описанному, все равно придется распределенную систему строить, шардингом или партишонингом. Иначе никаких ресурсов не хватит...
...
Рейтинг: 0 / 0
03.08.2008, 13:00
    #35467295
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
DPHЕсли не сложно, опиши задачу поподробнее.

Особенно подробно - откуда возьмутся 10 тысяч запросов в секунду на
поиск и 15 миллионов запросов на чтение. Через какой канал они смогут
проползти?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
03.08.2008, 16:01
    #35467379
Neotvechy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
Проект аля GDS(глобальная дистрибуционная сеть). Может кто слышал о таких и уже понел откуда такие нагрузки...но конечно они будут в случае международного успеха проекта (пример контента: авиабилеты, гостиницы, туры, трансфер ). В среднем мы расчитывали отталкиваясь от статистики компании Pegasus. Эти ребята работают как интеграторы в БД GDS систем. У низ около 80 000 обьектов в бд. На который приходится то 500-1000 записей, которые и участвуют в поисковых запросах....в секунду у них идет до ~5000 транзакций (чтение/запись)...насчет моих 10 000 поисковых запросов это все взвесил еще раз и понел что в среднем будет 2000 максимум.
600 000 записей это тоже круто..в среднем если брать только одну Россию то скорее дойдем до 10000.
P.S. Сегодня буду делать тест MySQL и Oracle...недавно услышал что MySQL с таблицами от миллиона записей начинает сильно глючить ...
...
Рейтинг: 0 / 0
03.08.2008, 16:05
    #35467383
Neotvechy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
Соблазн к MYSQL идет от того что я слышал как часть Googla перешла на него...или они уже чисто использовали свои неопубликованные разработки? Помоему Google даже купил MYSQL.
...
Рейтинг: 0 / 0
03.08.2008, 18:37
    #35467462
Geba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
NeotvechyСоблазн к MYSQL идет от того что я слышал как часть Googla перешла на него...или они уже чисто использовали свои неопубликованные разработки? Помоему Google даже купил MYSQL.

Вообще-то Sun купила MySQL вначале этого года.
...
Рейтинг: 0 / 0
03.08.2008, 21:27
    #35467567
DPH
DPH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
В общем, мой стандартный ответ на такие вопросы:

1. Придумайте архитектуру всей системы. Если нет опыта - найдите человека с опытом разработки больших нагруженных систем и предложите это сделать ему. Иногда это можно сделать и не очень дорого. (Даже если сами все придумали - все равно стоит посоветоваться с кем-нибудь с опытом, дешевле в конечном результате выйдет).

2. Когда архитектура уже будет - посмотрите, какие реально нагрузки доходят до БД, как их можно оптимизировать (ну или это еще в рамках разработки архитектуры будет сделано)

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

Ну и потом уже или ответ про выбор БД будет очевиден или можно будет опять спросить на форуме.

P.S. Для конкретной задачи я бы, опять-таки, по традиции, посоветовал бы DB2 Express C + шардинг.
Но вообще БД - это последнее, что должно волновать :)
...
Рейтинг: 0 / 0
03.08.2008, 22:25
    #35467599
Однако
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
при таких обьемах, можно вообще обойтись distributed memory cache'ом (за то какой response time!!),
а база, как заметил DPH, дело самое последнее....

P.S.
5К++ к записей в сек при граммотной архитектуре вполне справятся entry-level сервера,
но в тотже момент может и нехватит навороченных midrange
...
Рейтинг: 0 / 0
03.08.2008, 23:26
    #35467630
DPH
DPH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
Ну, в этой задаче, как мне кажется, без распределенного кэша вообще не обойтись. Какой - это отдельный вопрос, от банального memcached до MySQL Cluster (который, в общем, тоже просто распределенный кэш в памяти).

Кстати, тут, похоже, идет работа с большими объектами, каждый по сотням строк. Вполне возможно, что если их писать блобами, то требования можно сильно уменьшить.

А как 5K+ пишущих транзакций в секунду на entry-level серверах получить? Т.е. если пачками писать, то понятно. С шардингом или партишонингом - тоже понятно. А еще как?
(К тому же, судя по задаче, тут update, а не insert, что сильно хуже).
...
Рейтинг: 0 / 0
04.08.2008, 00:08
    #35467651
Однако
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
DPHНу, в этой задаче, как мне кажется, без распределенного кэша вообще не обойтись. Какой - это отдельный вопрос, от банального memcached до MySQL Cluster (который, в общем, тоже просто распределенный кэш в памяти).

это верно. дело вкуса и знаний (и понимания)
мне ближе coherence... ;)

DPH
Кстати, тут, похоже, идет работа с большими объектами, каждый по сотням строк. Вполне возможно, что если их писать блобами, то требования можно сильно уменьшить.
А как 5K+ пишущих транзакций в секунду на entry-level серверах получить? Т.е. если пачками писать, то понятно. С шардингом или партишонингом - тоже понятно. А еще как?
(К тому же, судя по задаче, тут update, а не insert, что сильно хуже).

поставить middleman'а?! :)
конечно, с синхронизацией придется повозится, но это несмертельно.
...
Рейтинг: 0 / 0
04.08.2008, 05:42
    #35467710
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
DPH
А как 5K+ пишущих транзакций в секунду на entry-level серверах получить?

Думаешь, прожект аффтара дойдёт до таких объёмов раньше 22-го века?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
05.08.2008, 01:30
    #35470015
DPH
DPH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
однако
мне ближе coherence... ;)
[quot]
Он денег, кажется, стоит. И не маленьких, небось?

[quot DPH]
поставить middleman'а?! :)

О, всегда можно узнать что-то новое. А что это?
...
Рейтинг: 0 / 0
08.08.2008, 03:17
    #35477487
Neotvechy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
Всем спасибо за ответы. DB2 IBM на меня произвела неплохое впечатление...про кеширование каких-нибуть данных на вывод к примеру, это ясное дело что нужно...но всеравно спасибо)
...
Рейтинг: 0 / 0
10.08.2008, 02:52
    #35480035
Однако
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
DPH однако
мне ближе coherence... ;)

Он денег, кажется, стоит. И не маленьких, небось?

ага, это точно, не малых, много там нулей перед запятой. но те кто покупает, просто экономят время.... и не только.
можно конечно самим написать, все-такие не rocket science :) или же, как сами упоминали, немало готовых open source проектов (вопрос конечно, как там все работает)


DPH однако
поставить middleman'а?! :)

О, всегда можно узнать что-то новое. А что это?
наооборот, совсем старое :)
в свое время, выходом из положения стал websphere mq, он послужил неким транзакционно-ориентированным гарантом (а-ля deferred transactions) доставки данных в базу (ума и времени такое придумать/сделать небыло)...
основное что требовалось надежность записи в базу и предсказуемость поведения по времени системы в peak'овых ситуациях (как раз пик был 5К, который достигался в определенные дни года, при общей загрузки <90%) на entry-level серверах (up to 10K EUR)

бюджет был "скромный", и хватило лишь бы на приобретение соответствуюшей техники и а-ля редакций неких баз данных, и все, дальше дудка.
так что искались альтернативы... что интересно, база рассматривалась в последнею очередь :)
open source варианты mq, увы, не прошли испытания, все "гибло" на необходимых нагрузках (prepaid телеком billing), вариант остался только от ibm (цена лицензий в сумме намнога дала фору, посравнению с базами), далее делался "детский" вариант (и при чем ключевой) distributed cache, и определялась база, где все данные в конце-концов будут храниться...

в то время (года 3-4 назад), было сделано смелое утверждение ;) что ibm выпустит бесплатный db2 (не было тогда express-c, только msde и oracle xe)... остановились на db2 (став партнерами ibm и получив доступ к бесплатным версиям продуктов для разработки приложений)
через 4 месяца ibm объявил о выпуски бесплатной версии без ограничений по обьему данных :)

и итоге конечно компании по прошествию лет преобрели, кому нужно было, предпочитаемую редакции сервера баз и суппорт с дба :)) вот.

сейчас бы делал иначе :)
чего только стоит того, что тот же db2 express-c можно deployить на virtualization сервера,
а если еще учесть, что db2 express-c стал поддерживать solaris, то вообще все очень прекрасно, осталось бы только найти умные головы :))
...
Рейтинг: 0 / 0
10.08.2008, 02:57
    #35480038
Однако
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
Neotvechy
Проект аля GDS(глобальная дистрибуционная сеть). Может кто слышал о таких и уже понел откуда такие нагрузки...но конечно они будут в случае международного успеха проекта (пример контента: авиабилеты, гостиницы, туры, трансфер ).
да у вас ключевое слово GDS(глобальная дистрибуционная сеть) ;)

NeotvechyВсем спасибо за ответы. DB2 IBM на меня произвела неплохое впечатление...про кеширование каких-нибуть данных на вывод к примеру, это ясное дело что нужно...но всеравно спасибо)
так что думайте про... кеширование :)
...
Рейтинг: 0 / 0
11.08.2008, 02:30
    #35480433
DPH
DPH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
наооборот, совсем старое :)

А, я думал, middleman - это еще какая-то библиотека кэширования ;)


чего только стоит того, что тот же db2 express-c можно deployить на virtualization сервера,
а если еще учесть, что db2 express-c стал поддерживать solaris, то вообще все очень прекрасно, осталось бы только найти умные головы :))
Ага. А меня порадовало подробное описание реализации log shipping'а с использованием бесплатных компонент и чуть-ли не готовыми скриптами. Это если 3000$ за поддержку HADR платить жалко ;)

Впрочем, дешевой технологии кэширования у IBM, вроде бы, еще нет. А жалко, была бы замечательная пара к DB2 Express C.

P.S. А как я сейчас мучаюсь от отсутствия в Oracle select from insert ;)
...
Рейтинг: 0 / 0
12.08.2008, 01:54
    #35482197
Однако
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
DPHВпрочем, дешевой технологии кэширования у IBM, вроде бы, еще нет. А жалко, была бы замечательная пара к DB2 Express C.

И вряд-ли будет в ближайщем будущем, не всем это надо (и все это еще понимают)...
а кому надо, тот и сам найдет ;)

DPH
P.S. А как я сейчас мучаюсь от отсутствия в Oracle select from insert ;)
P.S.
вам еще "повезло"!
а то у Sybase ASE все намного "проще" решается ;)
эх, с DB2 совсем забыл что-такое процедуры...
...
Рейтинг: 0 / 0
12.08.2008, 09:39
    #35482363
AAron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
DPH
P.S. А как я сейчас мучаюсь от отсутствия в Oracle select from insert ;)
Интереса ради, для чего понадобился select from insert?
...
Рейтинг: 0 / 0
12.08.2008, 12:18
    #35482739
DPH
DPH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
AAron DPH
P.S. А как я сейчас мучаюсь от отсутствия в Oracle select from insert ;)
Интереса ради, для чего понадобился select from insert?

Для экономии усилий.
Что-бы метод создания объекта в application layer (у меня это, по некоторым причинам, почти всегда только один insert) возвращал его правильно инициализированным (т.е. уникальный ключ по sequence, дефолтные значения заполнены и т.п.), после чего resultset можно было бы обрабатывать опять-таки стандартным способом конструирования объекта.

Вместо этого обычно приходится отдельным запросом получать очередное значение sequence (ну или кэшировать пачку на сервере, что не лучше).

Вообще, в Oracle много чего мне не хватает, но, возможно, многое просто из-за незнания Oracle. Впрочем, не покидает ощущение, что при разработке Oracle использование его с application layer не предполагалось.
...
Рейтинг: 0 / 0
12.08.2008, 15:19
    #35483321
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
DPH
Вообще, в Oracle много чего мне не хватает, но, возможно, многое просто
из-за незнания Oracle.

+1

Или в оракуле insert ... returning зарубили?..
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
12.08.2008, 21:48
    #35484088
DPH
DPH
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
Dimitry Sibiryakov
Или в оракуле insert ... returning зарубили?..

Про returning я знаю, но чем от тут поможет?
Там же только заполнение переменных, а не возврат resultset.
Т.е. сэкономить лишний вызов sequence, по идее, можно - но при этом придется добавлять специфическую обработку на сервере - тот же биндинг отдаваемых переменных.
Т.е. код усложнится. По сравнению с DB2 - все не столь уж и замечательно...
...
Рейтинг: 0 / 0
13.08.2008, 11:52
    #35484813
Yo.!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
БД под большой веб проект
DPH Dimitry Sibiryakov
Или в оракуле insert ... returning зарубили?..

Про returning я знаю, но чем от тут поможет?
Там же только заполнение переменных, а не возврат resultset.
Т.е. сэкономить лишний вызов sequence, по идее, можно - но при этом придется добавлять специфическую обработку на сервере - тот же биндинг отдаваемых переменных.
Т.е. код усложнится. По сравнению с DB2 - все не столь уж и замечательно...
биндинг на сервере конечно можно, но вот только до такого бреда догадается только самые сооброзительные. а фетчить из резалтсета в db2 мне представляется громоздким и затратным по сравнению с oracle и получением в переменные через insert ... returning одной командой.
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / БД под большой веб проект / 22 сообщений из 22, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]