Dragon
Зарегистрирован: 09.02.03
Сообщения: 270
|
Добавлено: 31/07/04 в 02:42
|
|
Подскажите, Беркли действительно имеет большое преимущество перед MySQL на больших объемах траффика?
|
K началу
|
|
|
Stek
Зарегистрирован: 24.10.02
Сообщения: 1613
|
Добавлено: 31/07/04 в 10:18
|
|
Сэр в курсе, что MySQL это реляционная база данных, а берклай это хеш, состоящий только из ключа и значения ....
|
K началу
|
|
|
begemot
Зарегистрирован: 25.12.03
Сообщения: 172
|
Добавлено: 31/07/04 в 12:50
|
|
Stek: ну .. BerkeleyDB это как хеш так и очередь, сложная система состоящая из подсистемы блокировок и поддерживающая транзакции. Это уже далеко не просто хеш.
Dragon: Mysql построен на основе модифицированной BerkeleyDB. Можешь делать выводы
где-то я читал что Google использует BerkeleyDB для хранения данных, но эти сведения не проверены.
|
K началу
|
|
|
Stek
Зарегистрирован: 24.10.02
Сообщения: 1613
|
Добавлено: 31/07/04 в 14:01
|
|
begemot: так то оно так, я вот только не пойму как мускуль и берклей сравнивать , по назначению и использованию это же совершенно разные вещи.
|
K началу
|
|
|
Pentarh
Зарегистрирован: 05.04.03
Сообщения: 2390
|
Добавлено: 31/07/04 в 15:24
|
|
Пробовал я как-то сделать довольно простенькие таблички на основе юниксовых BerkleyDB хэшей. Правда пробовал на ПХП. Ну короче по чтению комп завис на пяти запросах в секунду В то же время простой мускульный (MyISAM) аналог таких хэшей держал два или три десятка в секунду.
|
K началу
|
|
|
Dragon
Зарегистрирован: 09.02.03
Сообщения: 270
|
Добавлено: 31/07/04 в 17:16
|
|
Вот-вот. По идее, Беркли должна бить Майсикл со страшной силой... Ибо беркли по сути простейшая база с одним индексом. Однако мнения у людей расходятся, что и странно.
|
K началу
|
|
|
Pentarh
Зарегистрирован: 05.04.03
Сообщения: 2390
|
Добавлено: 31/07/04 в 17:43
|
|
Я не берусь 100% утверждать, но мне кажется что BerkeleyDB в моем опыте лопухнулся на разных сессиях. Рискну предположить, что если бы была одна сессия, он бы сделал мускуль на раз-два-три.
Т.е. пять запросов СКРИПТА в секунду = пять циклов открытия/лока/чтения-записи/разлока/закрытия файла BDB.
В то же время мускуль это клиент-сервер. В нем при разных сессиях файлы БД открыты всегда одним и тем же процессом (mysqld или чего там).
По этому, грубо говоря там где BDB делает операцию открытия/лока/чтения-записи/разлока/закрытия там мускуль делает только операцию чтения-записи.
Надо бы попробовать повторить опыт чисто на мускуле для таблиц типа MyISAM и BerkeleyDB (есть такой тип таблиц).
|
K началу
|
|
|
Stek
Зарегистрирован: 24.10.02
Сообщения: 1613
|
Добавлено: 31/07/04 в 17:43
|
|
Если знать и ПРАВИЛЬНО использовать берклай, получается 200+ обращений в секунду на 500Mhz пне, правда со SCSI дисками 7200 оборотов. Хотя имхо тема дурная, это как велосипед и автомобиль сравнивать, когда никто незнает ни условий сравнения, ни условий эксплуатации.
|
K началу
|
|
|
mag
Зарегистрирован: 16.12.02
Сообщения: 127
|
Добавлено: 31/07/04 в 20:01
|
|
у меня скорости были примерно такие: последовательный перебор списка записей в беркли 100k записей в секунду, выбор конкретного хэша ~30k в секунду мускуль ~ 3k селектов в секунду вот и делайте выводы, так что для чегото беркли рулит для чегото мускуль для простенькой базы с hash=значение беркли однозначно, для чегото более-менее сложного беркли уже юзать сложно
|
K началу
|
|
|
begemot
Зарегистрирован: 25.12.03
Сообщения: 172
|
Добавлено: 31/07/04 в 20:53
|
|
лично я рекомендую новичкам не писать ничего на BerkeleyDB без крайней необходимости, так как это хоть и жутко быстрая но довольно капризная киска
Dragon: скажи какая у тебя задача и я скажу стоит ли использовать BerkeleyDB
|
K началу
|
|
|
Pentarh
Зарегистрирован: 05.04.03
Сообщения: 2390
|
Добавлено: 31/07/04 в 21:17
|
|
Не удивляйтесь таким расхождениям между моими наблюдениями и наблюдениеями mag. Я имел ввиду кол-во обращений в секунду к ПХП-скрипту хитботом.
|
K началу
|
|
|
begemot
Зарегистрирован: 25.12.03
Сообщения: 172
|
Добавлено: 31/07/04 в 22:47
|
|
Pentarh писал: | Не удивляйтесь таким расхождениям между моими наблюдениями и наблюдениеями mag. Я имел ввиду кол-во обращений в секунду к ПХП-скрипту хитботом. |
влоб именно так и получается, все будет хорошо если кешировать состояние ENV в системе, либо обращаться из php к демону использующему BerkeleyDB, но это в большинстве случаев переписывание mysql.
|
K началу
|
|
|
Dragon
Зарегистрирован: 09.02.03
Сообщения: 270
|
Добавлено: 01/08/04 в 02:24
|
|
begemot писал: | лично я рекомендую новичкам не писать ничего на BerkeleyDB без крайней необходимости, так как это хоть и жутко быстрая но довольно капризная киска Dragon: скажи какая у тебя задача и я скажу стоит ли использовать BerkeleyDB |
Ну какие у нас могут быт задачи... Достаточно нагруженная траффиком система, несколько десятков INSERT и UPDATE (не селекты, а именно эти тяжелые для MySQL операции) в секунду... Вот и подумалось, что Беркли тут может помочь.
|
K началу
|
|
|
Pentarh
Зарегистрирован: 05.04.03
Сообщения: 2390
|
Добавлено: 01/08/04 в 02:48
|
|
Преимущества разных типов таблиц (офиц. мануал мускуля)
BDB: By using BerkeleyDB tables, your tables may have a greater chance of surviving crashes, and also provides COMMIT and ROLLBACK on transactions.
InnoDB: InnoDB provides MySQL with a transaction-safe (ACID compliant) table handler with commit, rollback, and crash recovery capabilities. InnoDB does locking on row level and also provides an Oracle-style consistent non-locking read in SELECTs. These features increase multiuser concurrency and performance. InnoDB has been designed for maximum performance when processing large data volumes
HEAP: HEAP tables use a hashed index and are stored in memory. This makes them very fast, but if MySQL crashes you will lose all data stored in them. HEAP is very useful for temporary tables!
Тебе по ходу подходят innodb
|
K началу
|
|
|
Stek
Зарегистрирован: 24.10.02
Сообщения: 1613
|
Добавлено: 01/08/04 в 03:10
|
|
Код: | Достаточно нагруженная траффиком система, несколько десятков INSERT и UPDATE (не селекты, а именно эти тяжелые для MySQL операции) в секунду |
Странно, у меня на среднем железе пол миллиона инсертов минут за 5 пролетают. Так что или дергаем программеров на правильность работы с базой, или идем осваить шаред мемори, там есть где развернуться
|
K началу
|
|
|
Dragon
Зарегистрирован: 09.02.03
Сообщения: 270
|
Добавлено: 01/08/04 в 04:20
|
|
Pentarh писал: | Преимущества разных типов таблиц (офиц. мануал мускуля) BDB: By using BerkeleyDB tables, your tables may have a greater chance of InnoDB: InnoDB provides MySQL with a transaction-safe (ACID compliant) table handler with commit, rollback, and crash recovery capabilities. InnoDB does locking on row level and also provides an Oracle-style consistent non-locking read in SELECTs. These features increase multiuser concurrency and performance. InnoDB has been designed for maximum performance when processing large data volumes HEAP: HEAP tables use a hashed index and are stored in memory. This makes them very fast, but if MySQL crashes you will lose all data stored in them. HEAP is very useful for temporary tables! Тебе по ходу подходят innodb |
Да, "locking on row level" - это то что надо, я думаю, плюс множественное чтение без лока... Ну а для маньяков можно держать самые критичные вещи в "HEAP tables" и с какой-то периодичностью сохранять информацию в базе другого типа.
|
K началу
|
|
|
Dragon
Зарегистрирован: 09.02.03
Сообщения: 270
|
Добавлено: 01/08/04 в 04:24
|
|
Stek писал: | Странно, у меня на среднем железе пол миллиона инсертов минут за 5 пролетают. Так что или дергаем программеров на правильность работы с базой, или идем осваить шаред мемори, там есть где развернуться |
Идем осваивать. Подскажи, где копать-то?
|
K началу
|
|
|
Stek
Зарегистрирован: 24.10.02
Сообщения: 1613
|
Добавлено: 01/08/04 в 07:04
|
|
Копать в гугле
|
K началу
|
|
|
Quantum[Tau]
Зарегистрирован: 15.03.04
Сообщения: 618
|
Добавлено: 01/08/04 в 14:07
|
|
Dragon писал: | Да, "locking on row level" - это то что надо, я думаю, плюс множественное чтение без лока... Ну а для маньяков можно держать самые критичные вещи в "HEAP tables" и с какой-то периодичностью сохранять информацию в базе другого типа. |
HEAP в mySQL-3 + PHP не дает достойного преимущества.
|
K началу
|
|
|
Stek
Зарегистрирован: 24.10.02
Сообщения: 1613
|
Добавлено: 01/08/04 в 14:51
|
|
А что, кто то еще троечку использует ?
|
K началу
|
|
|
Quantum[Tau]
Зарегистрирован: 15.03.04
Сообщения: 618
|
Добавлено: 01/08/04 в 19:01
|
|
Stek писал: | А что, кто то еще троечку использует ? |
Сын: Папа, почему Солнце всегда встает на востоке и заходит на западе? Отец-системщик, отрываясь от дебаггера: Ты проверял? Точно работает? Глюков нет? Сын: Точно. Отец: Ради всего святого сынок, НИЧЕГО НЕ ТРОГАЙ!
Троечка работает, не глючит. Зачем трогать?
Сравнительных тестов четверки я не видел, кто-нить даст?
|
K началу
|
|
|
Stek
Зарегистрирован: 24.10.02
Сообщения: 1613
|
Добавлено: 01/08/04 в 19:54
|
|
Quantum[Tau]: Ну вобщем если от базы кроме банальных селектов, инсертов и прочей мелочи ничего не надо, то и тройки хватит. Я например юзаю мускуль во все его возможности, да и обновления версий с фиксами багов, алгоритмов, никогда не помешают.
|
K началу
|
|
|
Quantum[Tau]
Зарегистрирован: 15.03.04
Сообщения: 618
|
Добавлено: 01/08/04 в 23:05
|
|
Stek:: можешь кратко сказать об используемых тобой возможностях четверки которых нет в трешке?
|
K началу
|
|
|
ivango
Зарегистрирован: 09.11.02
Сообщения: 1829
|
Добавлено: 01/08/04 в 23:49
|
|
на таблицах от мульена записей с большим индексом и постоянными инсертами BerkeleyDB рулит... я перешел на него после того, как у меня несколько раз падали индексы в таблице типа MyISAM... с тех пор ни одного падения.
|
K началу
|
|
|
Stek
Зарегистрирован: 24.10.02
Сообщения: 1613
|
Добавлено: 02/08/04 в 00:08
|
|
Могу Я занимаюсь не только сиджами и прочим траффиком, но и созданием полномастштабных проектов ...
Full-text - нормально заработал он только в 4 версии, плюс вот вот должен и utf начать поддерживать. Для поиска в больших объемах - просто незаменим.
Heap таблицы с индексами у меня работают стабильно и очень быстро, а на трешке проблемы с памятью часто выскакивают.
Merge таблицы очень удобны стали в работе, фактически не отличаются от простых таблиц теперь. А скорость выборок иногда чуть ли не в 2 раза возрастает.
InnoDB опять же только четверке нормально работает, хотя все равно геморой бывает.
Ну и в дополнение, поддержка xml вывода, UNION, в запросе DELETE можно использовать несколько таблиц, улучшенная поддержка UTF ... да много чего.
Да и когда трешка последний раз обновлялась то ? Год назад. Фиксится куча багов, скорость и прочее. Та же трешка при ребуте сервака кнопкой питания (и если очень большая нагрузка на диск) часто била таблицы. В четверке за последние пол года только один случай припоминаю.
А тут еще вроде предстоит репликации делать ... куда там трешке.
|
K началу
|
|
|
Quantum[Tau]
Зарегистрирован: 15.03.04
Сообщения: 618
|
Добавлено: 02/08/04 в 02:41
|
|
Stek: Спасибо.
|
K началу
|
|
|
Pentarh
Зарегистрирован: 05.04.03
Сообщения: 2390
|
Добавлено: 02/08/04 в 02:47
|
|
Stek: спасибо
|
K началу
|
|
|
CJ-builder
Зарегистрирован: 22.06.04
Сообщения: 11
|
Добавлено: 02/08/04 в 03:00
|
|
Stek: Спасибо.
|
K началу
|
|
|
eromaker
Зарегистрирован: 16.02.04
Сообщения: 91
|
Добавлено: 18/08/04 в 00:33
|
|
Интересную дискуссию развели Вопрос в том, для каких задач сравнивать
Просто так сказать - скажем - PostGre лучше MySQL нельзя. Для чего-то лучше, для чего-то хуже. Также и с берклёй. В принципе для трафоёмких скриптов всё же оптимально использовать свою базу, ориентированную конкретно на эту задачу.
|
K началу
|
|
|