|
|
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Возможно боян. Возможно это из-за моего небольшого опыта с Java EE технологиями. Чур ногами не бить.)) Хочу понять. Почему такая большая разница для операции INSERT между JPA и JDBC ? Последняя выигрывает в 200 раз по скорости. Дано: Объект из 3 полей - число(ПК) + дата + число База: MySQL - InnoDB. табличка с автоинкрементом. Тест такой ( он конечно тупой и в жизни именно так никто делать не будет, но хочу просто знать куда такие расходы): Просто в цикле инсерчу 10000 объектов. В JDBC сделал коннект и простым PrepareStatement в цикле прогнал insert. В EJB в сервлете кидаю параметры в session bean и в нем менеджером делаю persists для нужного Entity. В сервлете тот же самый цикл. Разница по скорости в 200раз. В пользу JDBC. я понимаю что маппинг, контексты, менеджеры, датасорсы и т.п. берут на себя часть времени. Но неужели в такой пропорции? На что именно такие расходы? Как поведет себя такое EJB приложение в высоконагруженных проектах, например в интернете когда пользователями создается в минуту тысячи новых однотипных объектов. За счет чего оно будет держать нагрузку при таких исходных данных. Спасибо дрУги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 02:00:02 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
сервер glassfish 3 Еще интересно знать, а в Spring + Hibernate - также будет или там это решается лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 02:18:54 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
В JDBC commit после каждой записи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 05:23:12 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
high load + sql?? No way! гугли nosql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 08:18:00 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Penkov Vladimirhigh load + sql?? No way! гугли nosql Отчеты на NoSQL писали когда-нибудь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 08:36:59 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
КореецРазница по скорости в 200раз. В пользу JDBC. Создать транзакцию, вставить запись и закоммитить. Вот что у вас получается в JPA. http://stackoverflow.com/questions/448181/batch-inserts-with-jpa-ejb3 почитайте про batch update ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 08:40:22 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
pavel_nvВ JDBC commit после каждой записи? +100. По умолчанию, методы Session Bean транзакционные. Каждый вызов из сервлета открывает транзакцию, EntityManager сохраняет значение в базе и по выходу транзакция комиттится. Причем это XA транзакции, с поддержкой распределенных ресурсов. Правда, JDCB по умолчанию тоже каждый статемент оборачивает в транзакцию так что надо знать как соединение открывается ( есть ли auto commit ). Еще вариант есть ли кеширование Prepared Statement в пуле соединений. Каждый вызов EJB будет брать новое соединение и создавать Prepared Statement для вставки. Если нет кеширования, тоже будут дополнительные расходы. Накладные расходы на обертку EJB милисекунды, но они тоже есть. Для такой массовой вставки лучше делать пакетами. Если драйвер поддерживает batch update, то JPA может использовать его. P.S. Если надо просто вставку в одну таблицу, то JDBC будет лучше. А вот если структура сложная, с кучей связанных даблиц, то orm имеет смысл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 08:40:46 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
pavel_nvВ JDBC commit после каждой записи? нет. коммит один после всей пачки. но пробовал и с автокоммитом - все равно jdbc быстрее на порядки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 09:50:35 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Кореецpavel_nvВ JDBC commit после каждой записи? но пробовал и с автокоммитом - все равно jdbc быстрее на порядки. беру свои слова назад. версия с автокоммитом тестилась не на 10000 записях, а вообще на одной. потом сразу убрал автокоммит. как-то спонтанно. сейчас проверил с автокоммитом для 10000 скорость такая же как и у EJB. Это радует))) Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 09:55:12 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Кореецpavel_nvВ JDBC commit после каждой записи? нет. коммит один после всей пачки. но пробовал и с автокоммитом - все равно jdbc быстрее на порядки. ну дак посмотри, что отправляется на сервер. По любому, любой JPA реализацию надо тюнить и настраивать. Нет волшебства в ОРМ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 09:56:56 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Penkov Vladimir, а JPA может работать с NoSQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 09:57:59 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Petro123ну дак посмотри, что отправляется на сервер. а как это посмотреть? есть стандартное средство трассировки того что отправляется в СУБД? у меня же там просто em.persist(Объект) придется нырять дебагером за Объектом? кстати дебагер сходу вызвать не получилось. не становится на брекпойнт в сервлете даже когда запускают сервер в режиме debug ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 10:01:37 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Добрый день, Кореец! >> ну дак посмотри, что отправляется на сервер. > а как это посмотреть? В persistence.xml допиши Код: sql 1. 2. 3. 4. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 10:10:24 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Добрый день! >> ну дак посмотри, что отправляется на сервер. > а как это посмотреть? > > В persistence.xml допиши > Код: sql 1. 2. Блин! true, конечно. Выдернул из рабочего кода, где отключено (но готово к включению) -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 10:11:37 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Корееца JPA может работать с NoSQL? - пока нет, но на JavaOne сказали что EclipseLink движется в этом направлении. Возможно если в EclipseLink все получится внесут в спецификацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 11:29:58 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Кореец, По сабжу: Сравнил ...у... с пальцем. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 11:39:23 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
КореецPenkov Vladimir, а JPA может работать с NoSQL? С кассандрой может скорее всего т.к. у нее есть JDBC драйвер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 11:58:21 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczPenkov Vladimirhigh load + sql?? No way! гугли nosql Отчеты на NoSQL писали когда-нибудь? О, а можно подробнее? В скором времени предстоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 12:33:38 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
ТимоНBlazkowiczОтчеты на NoSQL писали когда-нибудь? О, а можно подробнее? В скором времени предстоит. Могу лишь посочувствовать. NoSQL отлично подходит для ряда задач, где персистенс можно свести к хранилищу ключ-значение. Но вот, к примеру, в ERP, где на десяток связаных таблиц приходится два десятка отчетов, эксплуатирующих ассоциации в совершенно разных и невероятных комбинациях, без SQL - никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 12:38:49 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczТимоНпропущено... О, а можно подробнее? В скором времени предстоит. Могу лишь посочувствовать. NoSQL отлично подходит для ряда задач, где персистенс можно свести к хранилищу ключ-значение. Но вот, к примеру, в ERP, где на десяток связаных таблиц приходится два десятка отчетов, эксплуатирующих ассоциации в совершенно разных и невероятных комбинациях, без SQL - никак. У меня богатый опыт построения отчетов запросами типа > 10 таблиц. Но в NoSQL ведь другая структура хранения данных, по идее не должно быть вообще join'ов. Может структура сущностей виновата? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 12:50:27 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
ТимоНBlazkowiczпропущено... Могу лишь посочувствовать. NoSQL отлично подходит для ряда задач, где персистенс можно свести к хранилищу ключ-значение. Но вот, к примеру, в ERP, где на десяток связаных таблиц приходится два десятка отчетов, эксплуатирующих ассоциации в совершенно разных и невероятных комбинациях, без SQL - никак. У меня богатый опыт построения отчетов запросами типа > 10 таблиц. Но в NoSQL ведь другая структура хранения данных, по идее не должно быть вообще join'ов. Может структура сущностей виновата? наличие джойнов это не плохо а наоборот хорошо. Простейший случай - файловая система. Легко получить доступ к файлам по имени и пути в дереве. Сделать выборку всех фалов с диска размером >10мб очень сложно, нужно лопатить весь диск. Хоть информация о размере файлов вполне себе хранится, быстрого доступа к ней нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 13:15:27 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
1024наличие джойнов это не плохо а наоборот хорошо. В NoSQL? Вы ничего не путаете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 13:32:34 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczPenkov Vladimirhigh load + sql?? No way! гугли nosql Отчеты на NoSQL писали когда-нибудь? конечно. у нас пишется куча статы в самых разных разрезах с join-ом на sql БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 13:59:47 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
ТимоН1024наличие джойнов это не плохо а наоборот хорошо. В NoSQL? Вы ничего не путаете? я говорю про разницу между нормальными скл-серверами и устаревшими ещё в 80-х но ставшими модными сейчас движками типа ноСКЛ. Простая структура ноСКЛ является минусом а не плюсом. Подойдёт только в очень простых случаях работы с данными. Отчёты не являются простым случаем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 14:44:41 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
1024ТимоНпропущено... В NoSQL? Вы ничего не путаете? я говорю про разницу между нормальными скл-серверами и устаревшими ещё в 80-х но ставшими модными сейчас движками типа ноСКЛ. Складывается ощущение что вы ошибаетесь. Вы серьезно думаете что это просто дань моде? 1024Простая структура ноСКЛ является минусом а не плюсом. Подойдёт только в очень простых случаях работы с данными. Отчёты не являются простым случаем. От части с вами соглашусь, не все структуры можно и нужно переводить на NoSQL. Но есть задачи которые отлично ложатся в архитектуру NoSQL. Гемор с построением отчетов я вижу только в неправильном выборе архитектуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 14:51:10 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
ТимоН1024пропущено... я говорю про разницу между нормальными скл-серверами и устаревшими ещё в 80-х но ставшими модными сейчас движками типа ноСКЛ. Складывается ощущение что вы ошибаетесь. Вы серьезно думаете что это просто дань моде? это не дань моде. Это очередные грабли. SQL слишком сложен для большинства, в результате модными стали простейшие структуры данных а вся мощь SQL отброшена. Типа десяток сджойненных таблиц в запросе который сам соптимизирует и выполнит мгновенно это хуже чем самому городить сбор данных по убогим наборам ключ-значение и пытаться добиться производительности над которой в Oracle работали десятки лет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 14:55:31 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
1024это не дань моде. Это очередные грабли. SQL слишком сложен для большинства, в результате модными стали простейшие структуры данных а вся мощь SQL отброшена. Типа десяток сджойненных таблиц в запросе который сам соптимизирует и выполнит мгновенно это хуже чем самому городить сбор данных по убогим наборам ключ-значение и пытаться добиться производительности над которой в Oracle работали десятки лет. У вас есть опыт работы с NoSQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 15:11:51 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
ТимоН1024это не дань моде. Это очередные грабли. SQL слишком сложен для большинства, в результате модными стали простейшие структуры данных а вся мощь SQL отброшена. Типа десяток сджойненных таблиц в запросе который сам соптимизирует и выполнит мгновенно это хуже чем самому городить сбор данных по убогим наборам ключ-значение и пытаться добиться производительности над которой в Oracle работали десятки лет. У вас есть опыт работы с NoSQL? есть. Я старенький. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 15:16:19 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
1024ТимоНпропущено... У вас есть опыт работы с NoSQL? есть. Я старенький. А с чем именно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 15:23:04 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
ТимоН1024пропущено... есть. Я старенький. А с чем именно? с разными. Не мало ли у тебя постов для экзаменов? Шутка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 15:26:07 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
1024с разными. А что именно вам не понравилось в NoSQL БД которые вы использовали? 1024Не мало ли у тебя постов для экзаменов? Шутка. До вас конечно далеко, я больше для обмена опытом интересуюсь ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 15:35:02 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
ТимоН1024с разными. А что именно вам не понравилось в NoSQL БД которые вы использовали? см. 12803536 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 15:43:53 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
1024ТимоНпропущено... А что именно вам не понравилось в NoSQL БД которые вы использовали? см. 12803536 Ок, и как JOIN упростит выборку? А что если размер файла хранить в описании файла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 15:46:54 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
ТимоН1024пропущено... см. 12803536 Ок, и как JOIN упростит выборку? А что если размер файла хранить в описании файла? джойн никак не упростит выборку. Выборку упростит движок скл сервера который по джойнам построит оптимизированный запрос к нормализованным данным. Что такое нормализация можно посмотреть в вики. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 16:23:57 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
ТимоН...как JOIN упростит выборку?... Джойн не упрощает выборку - это и есть выборка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 16:23:59 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
ТимоНА что если размер файла хранить в описании файла? ну ясен пень. Будем Модель подгонять под Выборку )))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 16:26:58 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
За последний десяток лет, не написал ни одного селекта с меньше, чем тремя приджойненными таблицами. Исключая, ясен перец, справочник полов - Мужской(М), Женский(Ж), Неопределённый(Н). Кстати, последний иногда тоже имеет место быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 16:28:13 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Petro123ТимоНА что если размер файла хранить в описании файла? ну ясен пень. Будем Модель подгонять под Выборку )))) А что в этом плохого? Разве размер файла не может быть полем сущности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 16:29:04 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
1024джойн никак не упростит выборку. Выборку упростит движок скл сервера который по джойнам построит оптимизированный запрос к нормализованным данным. Что такое нормализация можно посмотреть в вики. Если честно, не до конца понял пример про файловую систему. Объясните что вы имели ввиду? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 16:33:25 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
ТимоННо в NoSQL ведь другая структура хранения данных, по идее не должно быть вообще join'ов. Может структура сущностей виновата? ну ведь известно, что ОРМ или объектная модель хороша для CRUD систем. А РСУБД успешно делает соединения множеств\кортежей. JOIN это соединения. Без него, в ООБД - прямая точечная нотация.... Ну не катит она в сложных выборках. Что тут спорить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 16:42:16 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Petro123Ну не катит она в сложных выборках. Что тут спорить? Я и не спорил, наоборот я говорил что не для всех задач можно использовать NoSQL. Спор пошел дальше, "NoSQL в общем - зло". С этим я не согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 16:45:00 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
ТимоНСпор пошел дальше, "NoSQL в общем - зло". С этим я не согласен. Про "зло", вроде, никто не писал. А то что это "дань моде", то это правда. Сначала общественность для себя "открыла", что Key-Value хранилище быстрее чем SQL, начали жужжать об этом на всех сайтах. Соответсвтенно в куче контор отыскался CEO, который спустил вниз указание "NoSQL" быстрее, значит его и используем. Сейчас, вроде, волна спала. Кажется стали понимать что NoSQL не панацея. Но с сабжем это, ведь, вообще никак не связано. Зачем зацепились? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 16:56:12 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczТимоНСпор пошел дальше, "NoSQL в общем - зло". С этим я не согласен. Про "зло", вроде, никто не писал. А то что это "дань моде", то это правда. Сначала общественность для себя "открыла", что Key-Value хранилище быстрее чем SQL, начали жужжать об этом на всех сайтах. Соответсвтенно в куче контор отыскался CEO, который спустил вниз указание "NoSQL" быстрее, значит его и используем. Сейчас, вроде, волна спала. Кажется стали понимать что NoSQL не панацея. Но с сабжем это, ведь, вообще никак не связано. Зачем зацепились? Ну с сабжем вроде разобрались. А мне стал интересен опыт других людей работы с NoSQL и странная нелюбовь к направлению в общем. А там пошло/поехало ... Мне предстоит собирать небольшую аналитику по активности пользователей на сайте с использованием NoSQL. Вот и интерес мой отсюда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 17:01:55 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Сначала общественность для себя "открыла", что Key-Value хранилище быстрее чем SQL, начали жужжать об этом на всех сайтах За счет чего? Вот например бенчмарк: http://rhaas.blogspot.com/2012/04/did-i-say-32-cores-how-about-64.html Postgres - 350000 rps. Кому может быть нужно больше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 17:35:38 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪЗа счет чего? За счет накладных расходов на SQL. Йуный джавистЪВот например бенчмарк: http://rhaas.blogspot.com/2012/04/did-i-say-32-cores-how-about-64.html Postgres - 350000 rps. Кому может быть нужно больше? Это не единственный пример. Уже ходила статья про плагин к MySQL, который в режиме получения данных NoSQL разрывает любые популярные NoSQL решения. Там самое сложное добиться от системы IO нужной скорости. :) Так что это вопрос к Penkov Vladimir, почему он считает SQL несовместимым с highload. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 17:43:23 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Добрый день, Petro123! > ну ясен пень. Будем Модель подгонять под Выборку )))) В этом и есть прелесть NoSQL. Когда варианты выборок строго ограничены, то можно построить модель данных, которая будет работать очень быстро и SQL не нужен. Когда выборки вариантны- NoSQL не подходит. Кстати, NoSQL - отличный кэш для SQL. -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 17:48:48 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraКстати, NoSQL - отличный кэш для SQL. Да, ну? А мы думали EhCache в Hibernate как-то по другому работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 17:53:39 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
GKS_SamaraДобрый день, Petro123! > ну ясен пень. Будем Модель подгонять под Выборку )))) В этом и есть прелесть NoSQL. Когда варианты выборок строго ограничены, то можно построить модель данных, которая будет работать очень быстро и SQL не нужен. Когда выборки вариантны- NoSQL не подходит. Кстати, NoSQL - отличный кэш для SQL. -- Алексей JID: alxt@ya.ru так тебе об этом и говорят - модель можно подогнать под одну выборку и она (выборка) будет выполняться очень быстро. А любая другая выборка будет выполняться очень медленно, просто перебором будут сканиться все данные. В случае SQL любая выборка будет выполняться быстро. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 17:53:39 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
1024так тебе об этом и говорят - модель можно подогнать под одну выборку и она (выборка) будет выполняться очень быстро. А любая другая выборка будет выполняться очень медленно, просто перебором будут сканиться все данные. В случае SQL любая выборка будет выполняться быстро. В точку! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 17:54:24 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЭто не единственный пример. ... Правильно ли проводить такие бенчмарки? Что он показывает? То что SQL выбирает данные из таблички быстрее чем NoSQL решения? Это же не о чем не говорит. А если запустить похожий бенчмарк но с выборкой какой нибудь сущности размазанной по нескольким таблицам и допустим документ из NoSQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 17:57:01 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
BlazkowiczТак что это вопрос к Penkov Vladimir, почему он считает SQL несовместимым с highload. потому что 200к сложений в секунду + 40GB данных в сутки SQL не потянули ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 18:04:37 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Penkov VladimirBlazkowiczТак что это вопрос к Penkov Vladimir, почему он считает SQL несовместимым с highload. потому что 200к сложений в секунду + 40GB данных в сутки SQL не потянули + от 100кк уникальных ключей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 18:05:51 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
потому что 200к сложений в секунду + 40GB данных в сутки SQL не потянули О каких сложениях идет речь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 20:06:30 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
А если запустить похожий бенчмарк но с выборкой какой нибудь сущности размазанной по нескольким таблицам и допустим документ из NoSQL? Документы (то есть блобы) можно напихать в традиционную СУБД. Можно при желании индексировать по отдельным полям в блобах (postgres hstore, oracle index-by tables). В оракле есть cluster - данные физически хранятся в prejoined виде, но логически выглядят как обычные таблички. По скорости NoSQL проиграет. Например, в MongoDb есть один глобальный лок на всю базу ( http://stackoverflow.com/questions/7506124/is-it-true-that-mongodb-has-one-global-read-write-lock). Также предлагаю сравнить документацию по бэкапу в Postgres: http://www.postgresql.org/docs/9.1/static/continuous-archiving.html и в MongoDb: http://www.mongodb.org/display/DOCS/Backups ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 20:31:32 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
- не совсем понял о чем дискуссия? очередное сравнение слона и кита? Когда говорят о производительности NoSQL речь идет о производительности на больших объемах данных, о таких объемах на которых применение РСУБД либо экономически не выгодно, либо технологически проблематично. Т. е. NoSQL - это нишевое решение, которое не конкурирует с РСУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 21:25:28 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪпотому что 200к сложений в секунду + 40GB данных в сутки SQL не потянули О каких сложениях идет речь? взять число по ключу, прибавить 1, записать обратно. если ключа нет - создать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 22:10:08 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪНапример, в MongoDb есть один глобальный лок на всю базу ( http://stackoverflow.com/questions/7506124/is-it-true-that-mongodb-has-one-global-read-write-lock). Также предлагаю сравнить документацию по бэкапу в Postgres: http://www.postgresql.org/docs/9.1/static/continuous-archiving.html и в MongoDb: http://www.mongodb.org/display/DOCS/Backups из всех noSQL решений вы выбрали худшее и сравнили с лидерами ))) сравните с hbase тогда уж ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 22:11:18 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Penkov Vladimirвзять число по ключу, прибавить 1, записать обратно. если ключа нет - создать. хитрый апдейт на 200 000 записей в секунду? а кроме этого в табличке какие еще поля? запись на диск или все таки только в память? на какой машине это все делалось? какая именно NoSQL? случайно не редис? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 22:57:14 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Это в один поток. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2012, 23:24:49 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
1024ТимоНпропущено... Складывается ощущение что вы ошибаетесь. Вы серьезно думаете что это просто дань моде? это не дань моде. Это очередные грабли. SQL слишком сложен для большинства, в результате модными стали простейшие структуры данных а вся мощь SQL отброшена. Типа десяток сджойненных таблиц в запросе который сам соптимизирует и выполнит мгновенно это хуже чем самому городить сбор данных по убогим наборам ключ-значение и пытаться добиться производительности над которой в Oracle работали десятки лет. плюсую, но это верно только для случая, когда sql может работать с террабайтами данных - а таких решений два, может три на всю планету ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 02:38:53 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Это в один поток. я нифига в этом не понял, что тут происходит? суть наших изысканий. есть 1кк пользователей, по каждому много параметров (до 100, у нас избыточная запись для быстрого чтения потом). нужно при совершении некого события от пользователя посчитать это событие. событий - по 100-200к в сек. у нас hbase был, с таким объемом он слег. написали свою memory based БД, она вроде работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 08:23:17 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Кореец на какой машине это все делалось? какая именно NoSQL? случайно не редис? там hbase в кластере ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 08:24:16 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
ShSergeЗа последний десяток лет, не написал ни одного селекта с меньше, чем тремя приджойненными таблицами. Исключая, ясен перец, справочник полов - Мужской(М), Женский(Ж), Неопределённый(Н). Кстати, последний иногда тоже имеет место быть. привильно писать "оно ещё не определилось " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 08:37:22 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Добрый день, Blazkowicz! >> Кстати, NoSQL - отличный кэш для SQL. > Да, ну? А мы думали EhCache в Hibernate как-то по другому работает. Ну так можно рассматривать EhCache как NoSQL БД :) -- Алексей JID: alxt@ya.ru Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 08:49:10 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Penkov Vladimirя нифига в этом не понял, что тут происходит? он 2 миллиона раз увеличил sequence на 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 11:56:43 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
chpashaPenkov Vladimirя нифига в этом не понял, что тут происходит? он 2 миллиона раз увеличил sequence на 1 а sequence всего 1? нужно много их ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 12:55:23 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
Penkov Vladimirchpashaпропущено... он 2 миллиона раз увеличил sequence на 1 а sequence всего 1? нужно много их х.з. что хотел сказать автор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 14:26:46 |
|
||
|
JPA vs JDBC для высоконагруженного приложения.
|
|||
|---|---|---|---|
|
#18+
а sequence всего 1? нужно много их Создайте много сиквенсов, по одному на каждого пользователя. х.з. что хотел сказать автор Я хотел сказать, что для такой задачи надо использовать сиквенсы, а не столбцы таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2012, 16:20:32 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2131428]: |
0ms |
get settings: |
17ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
2ms |
| others: | 371ms |
| total: | 550ms |

| 0 / 0 |
