powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Mybatis+PostgreSQL паралелльные потоки
25 сообщений из 115, страница 3 из 5
Mybatis+PostgreSQL паралелльные потоки
    #39892857
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov,
Писатель не должен оповещать.
Есть подписчики. Есть оповещатели.
А писатель это техническая должность нижнего уровня.
Как вариант выше предложили его засунуть в хранимку.
Тогда коллизии не будет.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39892859
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но он делает Протокол. Это вообще по другому делают.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39892883
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Писатель не должен оповещать.

- вероятно Вы хотите сказать что мы наблюдаем архитектурную ошибку
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39892910
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kachalov,
Угу.
Причем ошибся он еще в прошлом топике.
В оперативке надо было очередь делать.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893338
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не знаю, что вы так набросились на MyBatis, но меня он пока ни разу не подводил,
очень удобно мапить данные, быстрая и легкая библиотека, в отличии от hiber'a у меня
как то с ним готовка уже лет 10-15 не ладится.
По сути. Для уведомлений в разных субд есть , внезапно, уведомления.
Например в pg ,notify "Во-первых, если NOTIFY выполняется внутри транзакции, уведомления доставляются получателям после фиксирования транзакции и только в этом случае. "
Видел подобное в Firebird'е, так что это не экзотика.
А listener слушает, при получении события делает select. Должно работать.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893341
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Troglodit
Видел подобное в Firebird'е, так что это не экзотика.

В субд есть xml, но хранение в нем экзотика
Есть EAV, но это экзотика
Есть JSON поля, но это экзотика.
Продолжать?
..
А батис тут никто не ругал
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893345
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp

В субд есть xml, но хранение в нем экзотика
Есть EAV, но это экзотика
Есть JSON поля, но это экзотика.
Продолжать?
..
А батис тут никто не ругал

а в чем лучше хранить json и xml или не жестко структурированные данные?
А уж обрабатывать xpath и jsonpath?-это чем не экзотичным и реляционным вы заменяете?
А валидация схемами документов. Мне продолжать?

Про MyBatis видимо было несколько страниц назад, я на даты не смотрел, возможно устаревшее сообщение.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893353
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Troglodit,
OFF в блобе храни или спец XMLDB.
А зачем делвть из бд мусорку с неформализованными данными и моделю?
Мне продолжать?
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893373
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XML и JSON в БД хранить можно. Но следуя принципам реляционных теорий мы должны
объявить этот XML атомом в контексте решаемой нами задачи. Ежели он не таковой (не атом)
то мы - жалкие школьники и нас надо снова садить за 1 курс университета и проходить
Дейта и Кодда с нуля.

Еще мысль. Развивая идею проектирования баз на XML я просто могу спросить - а почему
вы остановились на 1 поле? Объявите всю data-row XML сущностью и тогда база
примет вид

Код: java
1.
create table universalEntity1(universalDataRow XMLTYPE);



И таким образом вся теория проектирования баз вырождается и превращается в профанацию.
Об этом кстати писал Том Кайт. XML - есть и поддерживается но решения на базе него - "нелетают".
Имеется в виду что низко перформят.

Ну и апофеозом проектирования можно сделать перенос всех таблиц в 1 большой XML документ.
Разумеется за кадром останутся техники DML - операций но тут я просто переведу стрелки
на тех кто за такое решение ратует.

Пожалуйста господа. Расскажите как это все будет работать и перформить.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893423
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
XML и JSON в БД хранить можно. Но следуя принципам реляционных теорий мы должны
объявить этот XML атомом в контексте решаемой нами задачи. Ежели он не таковой (не атом)
то мы - жалкие школьники и нас надо снова садить за 1 курс университета и проходить
Дейта и Кодда с нуля.

Еще мысль. Развивая идею проектирования баз на XML я просто могу спросить - а почему
вы остановились на 1 поле? Объявите всю data-row XML сущностью и тогда база
примет вид

Код: java
1.
create table universalEntity1(universalDataRow XMLTYPE);



И таким образом вся теория проектирования баз вырождается и превращается в профанацию.
Об этом кстати писал Том Кайт. XML - есть и поддерживается но решения на базе него - "нелетают".
Имеется в виду что низко перформят.

Ну и апофеозом проектирования можно сделать перенос всех таблиц в 1 большой XML документ.
Разумеется за кадром останутся техники DML - операций но тут я просто переведу стрелки
на тех кто за такое решение ратует.

Пожалуйста господа. Расскажите как это все будет работать и перформить.

Я не знаю, что у всех так горит, от того, что данные будут, о ужас, не реляционные.
Зачем идти в крайности. Посмотрите доклад датаарта про тэги на highload'е за прошлый год кажется, как они
жевали кактус и в итоге пришли к тому, что в конкретных кейсах nosql все таки мед, пусть и внутри классической рсубд.
А так могу вам алаверды, вы на больших данных тогда все должны нормализовать до каждой запятой, вы же за священные нормальные формы. Только когда поток пойдет, вас смоет из без денормализации ваш перфомас вынесет в ... какое-то очень неприятное место. Да, сейчас есть хак,а давайте купим еще n-серверов, ведь можно же, железо дешево, а dba-дорого. А потом на том же highload главный it-шник ozon'a говорит как им мешает легаси дисковая подсистема за 1(или 10 :) ) кажется лям неубитых и как они героически уходили от этого, а подсистема где то пылится.
Еще раз, если у вас студенты или стартаперы, которым еще 10 страниц дочитать, тогда ваша стратегия абсолютно верная. Если у вас квалифицированные DBA, то глупо в разумных дозах не использовать возможности СУБД.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893427
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да ради бога. Пускай льют свои данные хоть тегами хоть json-ами.

Просто они у них не реляционные. Следовательно это не тема нашего топика.

У нас - Postgresql.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893429
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Да ради бога. Пускай льют свои данные хоть тегами хоть json-ами.

Просто они у них не реляционные. Следовательно это не тема нашего топика.

У нас - Postgresql.

Доклад был как они это делали не на PostgreSQL, я ошибся, но на Oracle.
YouTube Video
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893431
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем мне 35 минут видоса? Дайте хронометраж где звучит главная мысль и я посмотрю с удовольствием.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893459
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton
Зачем мне 35 минут видоса? Дайте хронометраж где звучит главная мысль и я посмотрю с удовольствием.

Там нет главной мысли. Там повесть. Мы начали так, стало плохо, сделали по другому опять поплохело, и т.д.
Нет желания вникать, я не навязываю, хотя в перемотке в 10 мин. управились бы.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893473
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Troglodit
Зачем идти в крайности.
а сами чере 2 слова в крайности
Troglodit
вы на больших данных тогда все должны нормализовать до каждой запятой, вы же за священные нормальные формы.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893475
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А до какой НФ нормализовывать?
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893494
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
del
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893508
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Troglodit

Я не знаю, что у всех так горит, от того, что данные будут, о ужас, не реляционные.
Зачем идти в крайности. Посмотрите доклад датаарта про тэги на highload'е за прошлый год кажется, как они
жевали кактус и в итоге пришли к тому, что в конкретных кейсах nosql все таки мед, пусть и внутри классической рсубд.
Ох жесть какая... Когда дизайнят модель в RDBMS, ее дизайнят в том числе таким образом, чтобы в каких-то местах избегать конкуренции, а в каких-то наоборот - порождать. Когда же ваша структура БД имеет вид (ну там, очевидно, PK не хватает):

Код: java
1.
create table universalEntity1(universalDataRow XMLTYPE);


в ней конкуренция есть всегда , я буквально на прошлой неделе смотрел подобное решение, сказать "мне не понравилось" - это совсем ничего не сказать, там у ребят помимо того, что одна транзакция тупо перетирала данные другой (представьте что вот на этом форуме мы решили всю тему хранить в XML/JSON - теперь при добавлении нового сообщения нам придется блокировать всю строку, чтобы сообщения не перетирались, что в свою очередь будет вести к увеличению нагрузки на БД, а по "классике" такого даже не будет), решение еще пестрило другими детскими болезнями, типа вычисления следующего идентификатора как max(id)+1. Если вам кажется, что вы изобрели серебряную пулю, вам в первую очередь стоит задуматься, действительно ли она такая серебряная и почему все поголовно ее уже не используют. Что касается презентации, что вы привели, ну это реально дичь: автор явно путает две разные задачи - "как хранить" и "как быстро выбирать": я бы вот ни при каких условиях не стал бы хранить тэги (несущественные данные) в той же таблице где и часто-меняющиеся бизнес-данные (существенные), просто потому, что в обратном случае добавление тэга будет порождать конкуренцию, которая мне нафиг не нужна на ровном месте (отсылка к SO здесь неуместна - там монопольный доступ к редактированию темы), докладчик же по факту сделал откровенную дичь, не понимая, что "как хранить" и "как быстро выбирать" - это совершенно две несвязные задачи.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893509
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Пожалуйста господа. Расскажите как это все будет работать и перформить.
Прекрасно будет работать до тех пор, пока кто-то не протеряет данные и не вломит бракоделам неиллюзорных п#здюлей
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893511
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Панфилов
Ох жесть какая... Когда дизайнят модель в RDBMS, ее дизайнят в том числе таким образом, чтобы в каких-то местах избегать конкуренции, а в каких-то наоборот - порождать. Когда же ваша структура БД имеет вид (ну там, очевидно, PK не хватает):

Код: java
1.
create table universalEntity1(universalDataRow XMLTYPE);


в ней конкуренция есть всегда , я буквально на прошлой неделе смотрел подобное решение, сказать "мне не понравилось" - это совсем ничего не сказать, там у ребят помимо того, что одна транзакция тупо перетирала данные другой (представьте что вот на этом форуме мы решили всю тему хранить в XML/JSON - теперь при добавлении нового сообщения нам придется блокировать всю строку, чтобы сообщения не перетирались, что в свою очередь будет вести к увеличению нагрузки на БД, а по "классике" такого даже не будет), решение еще пестрило другими детскими болезнями, типа вычисления следующего идентификатора как max(id)+1. Если вам кажется, что вы изобрели серебряную пулю, вам в первую очередь стоит задуматься, действительно ли она такая серебряная и почему все поголовно ее уже не используют. Что касается презентации, что вы привели, ну это реально дичь: автор явно путает две разные задачи - "как хранить" и "как быстро выбирать": я бы вот ни при каких условиях не стал бы хранить тэги (несущественные данные) в той же таблице где и часто-меняющиеся бизнес-данные (существенные), просто потому, что в обратном случае добавление тэга будет порождать конкуренцию, которая мне нафиг не нужна на ровном месте (отсылка к SO здесь неуместна - там монопольный доступ к редактированию темы), докладчик же по факту сделал откровенную дичь, не понимая, что "как хранить" и "как быстро выбирать" - это совершенно две несвязные задачи.

Здорово, что вы поделились своим опытом,есть пара но.
Акелла промахнулся, данную структуру предлагал не я, это было предложено mayton'ом в качестве легкого троллинга, чтобы довести до абсурда.Без Pk это вообще дичь, я с вами согласен. Я лишь говорил об полях JSON, в частном случае можно и про XML. Далее отделим мух от котлет, проблема с перезаписью чужих данных возникает не по причине, что формат хранения плохой, просто люди написали криво. Им что религия мешает менять только ЧАСТЬ узлов, так что опять пока мимо кассы.
Где то было описано,что
Так что, с вашего позволения подитожу: люди микроскопом забивали гвозди было не удобно и разбили прибор. Вывод: микроскопами никогда ни за что нельзя пользоваться.
Вы же сами все правильно написали, часто меняющиеся данные в стандартных column'ах, статика нереляционная в json/xml.
И все будет замечательно работать.
В вашем примере max(id)+1 на больших данных будет бОльшим злом. В соседней ветке count-записей на 18млн таблице считают.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893513
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Панфилов
mayton
Пожалуйста господа. Расскажите как это все будет работать и перформить.
Прекрасно будет работать до тех пор, пока кто-то не протеряет данные и не вломит бракоделам неиллюзорных п#здюлей

У меня есть небольшой проект append only, где должно было использоваться 5 сущностей(1 сущ. -1 таблица, либо если сделать часть полей полупустыми то 4, при этом 1 сущность никак не связана 1 из них, но должна, Я вышел из ситуации, добавив вводную, что привязвываться будет к последней записи этой сущности. Для полного отображения информации в запросе в будут использованы 3 left join'а. Производительность ожидалась "потрясающей" как при чтении так и записи. Данных не много около 500 тыс. записей за тестовый период.
Решил попробовать JSON
Взял 1-ю сущность добавил к ней JSON и записывал в нее остальные 4. При этом проблема последней записи для привязки во ВСЕЙ таблице из прошлого примера свелась к поиску внутри этого же JSON'а. Все данные можно получить из 1-й таблицы без LEFT JOIN c помощью языка запросов JSON можно гибко получать нужные данные, данные для поиска отиндексированы. Общее кол-во записей всех сущностей уменьшилось до 70000. Писать запросы для выборки гораздо проще,при увеличении кол-во записей не будет резкого падения производительности на привязку сущностей.
Да это слабый пример, но реальный живой кейс.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893532
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Troglodit
просто люди написали криво. Им что религия мешает менять только ЧАСТЬ узлов

Угу. Вместо готового движка работы со МНОЖЕСТВАМИ будем писать свой движок и оптимизировать работы с узлами.
Troglodit
Решил попробовать JSON

Вон откуда ваше отстаивание.
Каждый программист впервые в жизни в отрочестве пишут рукописный ОРМ, потом логгер, потом JSON в базе.
Потом это проходит.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893544
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp

Вон откуда ваше отстаивание.
Каждый программист впервые в жизни в отрочестве пишут рукописный ОРМ, потом логгер, потом JSON в базе.
Потом это проходит.

Я где то говорил, что надо забыть про реляционную структуру?
И где я что-то отстаивал?
Я лишь указал свой скромный опыт и указал на то, что уже лет 15 как
в рсубд используют к месту и не к месту эти инструменты.
Давайте закроем нашу с вами беседу, т.к. она оффтоп.
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893552
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Troglodit
Я где то говорил, что надо забыть про реляционную структуру?

посмотри свой первый пост. Для данной задачи (на наносекунды) не подходит РСУБД.
Другое можешь предложить? Мы в Java.
Troglodit
Давайте закроем нашу с вами беседу, т.к. она оффтоп.

OK
...
Рейтинг: 0 / 0
Mybatis+PostgreSQL паралелльные потоки
    #39893561
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp

посмотри свой первый пост. Для данной задачи (на наносекунды) не подходит РСУБД.
Другое можешь предложить? Мы в Java.

Первый пост не мой.
Задача автора получить в запросе измененные данные, почему это нельзя решить в РСУБД?
...
Рейтинг: 0 / 0
25 сообщений из 115, страница 3 из 5
Форумы / Java [игнор отключен] [закрыт для гостей] / Mybatis+PostgreSQL паралелльные потоки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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