|
|
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Подскажите пожалуйста. Пытаюсь изучить Hibernate. Покопавшись в старых темах, не обнаружил похожего вопроса.(если не заметил буду рад за ссылку) Имеется проект. В нём > 200 одинаковых таблиц(совершенно одинаковая структура). Имена у них на подобии table_1, table_2 итд (таблицы могут автоматически добавляться) В них находятся некоторые данные, которые выбираются по primary key. Номер таблицы, выбирается по определённому алгоритму, на основе primary key ID. Помимо этого, есть много таблиц в единичном экземпляре. С теми таблицами которых один экземпляр, вопросов нет. Но вот как замапить что не в 1 экземпляре (все эти table_XXX)? Может ли Hibernate вообще работать с такой структурой? Хочется сделать что-то вроде 1 класса на все. Заранее всем спасибо за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2013, 22:31:30 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Есть ещё какие-то таблицы помимо этих 200? Если нет, то и hibernate брать не за чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2013, 22:43:41 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
NetImperia, я так понимаю у вас таким образом реализован шардинг, вроде в hibernate было что-то такое, посмотрите hibernate shards. А так соглашусь с Blazkowicz, что стоит хорошо подумать, а нужен ли Вам hibernate? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2013, 22:47:06 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЕсть ещё какие-то таблицы помимо этих 200? Если нет, то и hibernate брать не за чем. В том и проблема что есть. Как я писал выше: Помимо этого, есть много таблиц в единичном экземпляре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2013, 22:47:43 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
just_vladimirNetImperia, я так понимаю у вас таким образом реализован шардинг, вроде в hibernate было что-то такое, посмотрите hibernate shards. А так соглашусь с Blazkowicz, что стоит хорошо подумать, а нужен ли Вам hibernate? Именно. Спасибо за наводку. Сел читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2013, 22:54:28 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
NetImperia, Понять причину Почему их много. И исправить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 08:14:58 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Petro123NetImperia, Понять причину Почему их много. И исправить. Оптимизаия производительности. Вычислить маленькую таблицу по ID и найти в ней запись намного быстрее чем найти запись в одной таблице размером в 200 раз больше. Банально дискового пространства может не хватать. Разные таблицы разбросаны по разным дискам. Продвинутые базы это умеют прозрачно, не затрагивая клиетский код. Здесь, вероятно, сделано вручную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 10:18:57 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
BlazkowiczPetro123NetImperia, Понять причину Почему их много. И исправить. Оптимизаия производительности. Вычислить маленькую таблицу по ID и найти в ней запись намного быстрее чем найти запись в одной таблице размером в 200 раз больше. Банально дискового пространства может не хватать. Разные таблицы разбросаны по разным дискам. Продвинутые базы это умеют прозрачно, не затрагивая клиетский код. Здесь, вероятно, сделано вручную. да нету такого. Чтобы справочник городов разбивали по буквам алфавита - ГородаА, ГородаБ - изврат)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 10:28:11 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Petro123да нету такого. Тебе виднее. Проект Hibernate Sharding тоже из пальца высосан. Ведь так никто не делает. Petro123Чтобы справочник городов разбивали по буквам алфавита - ГородаА, ГородаБ - изврат)))) Кто говорил про "справочник"? Базу сети супермаркетов со всеми чеками за N лет видел когда-нибудь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 10:33:49 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
BlazkowiczОптимизаия производительности. Вычислить маленькую таблицу по ID и найти в ней запись намного быстрее чем найти запись в одной таблице размером в 200 раз больше. Банально дискового пространства может не хватать. Разные таблицы разбросаны по разным дискам. Продвинутые базы это умеют прозрачно, не затрагивая клиетский код. Здесь, вероятно, сделано вручную.Что же это за СУБД, если такую оптимизацию нельзя на уровне БД реализовать. Как вариант через view или stored procedure. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 10:54:36 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
ant74BlazkowiczОптимизаия производительности. Вычислить маленькую таблицу по ID и найти в ней запись намного быстрее чем найти запись в одной таблице размером в 200 раз больше. Банально дискового пространства может не хватать. Разные таблицы разбросаны по разным дискам. Продвинутые базы это умеют прозрачно, не затрагивая клиетский код. Здесь, вероятно, сделано вручную.Что же это за СУБД, если такую оптимизацию нельзя на уровне БД реализовать. Как вариант через view или stored procedure. +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 10:55:31 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
ant74Что же это за СУБД, если такую оптимизацию нельзя на уровне БД реализовать. Любое говно мамонта. Мало что ли legacy систем? ant74Как вариант через view или stored procedure. Да, можно попробовать логику внутри view реализовать. Но получится ли? Да, и вопрос не о том был. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 11:00:13 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, что нам за аффтора додумывать? Согласись, выглядит странно: - долго ищет таблице = 1 решение - а нафига индексы? Потом, кластерный индекс? Потом железо? Потом OLAP\OLTP. Потом решения ОРАКЛ\Сиквел \ партиционирование. А потом уже ломать проект и делать велосипед у программиста. "Если ты Сервер, не суетись под клиентом (с)" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 11:11:50 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Не вдаваясь в подробности, а нафига это надо, могу предложить такую схему решения: - описать суперкласс для одинаковых таблиц - с помощью cglib нагенерить классы, примерно так Код: java 1. 2. 3. - нагенерить меппинги названиями нагенеренных классов tableXXXClass и добавить их в конфигурацию Код: java 1. 2. 3. 4. Как потом с этим работать - фиг знает, hql врядли заработает, может быть, Criteria взлетит. Скорее всего, придется использовать SQLQuery, а тогда нафига всё это надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 11:31:30 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Petro123, не пойму, что Вас смущает, описанная автором ситуация вполне распространенный подход по реализации партиционирования для бедных. Например, может быть у человека нет нужной лицензии или используется PostgreSQL, где прямо в доке предлагают создавать кучу таблиц. Более того, тот же hibernate вообще не умеет использовать нативные механизмы партиционирования СУБД. Или Вам непонятно зачем нужно партиционирование в принципе? ant74, я думаю вариант со stored procedure вполне себе жизненный. Когда для сущности, которая шардится/партиционируется весь CRUD вынести в процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 12:56:02 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
just_vladimirИли Вам непонятно зачем нужно партиционирование в принципе? расшифровываю. Это вопрос по архитектуре. Там принципы - от простого к сложному . Т.е. сначала БЕЗ партиций в любом виде. Потом, обосновав - на уровне СУБД. Потом уже на уровне Java. Я ведь выше привёл линейку масштабирования. Если тут форум Java, это не значит, что БД - импотент. (т.е. у заказчика на терабайт данных нет 1000 баксов на СУБД) Логично? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 13:05:36 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
just_vladimirPostgreSQL, где прямо в доке предлагают создавать кучу таблиц пруфлинк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 13:10:10 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Petro123расшифровываю. Это вопрос по архитектуре. Там принципы - от простого к сложному . Т.е. сначала БЕЗ партиций в любом виде. Потом, обосновав - на уровне СУБД. Потом уже на уровне Java. Я ведь выше привёл линейку масштабирования. Если тут форум Java, это не значит, что БД - импотент. (т.е. у заказчика на терабайт данных нет 1000 баксов на СУБД) Логично? Не уловил Ваших мыслей. Откуда домыслы что проект автора уже не прошел все простые варианты на тему индексов и т.д.? Petro123just_vladimirPostgreSQL, где прямо в доке предлагают создавать кучу таблиц пруфлинк? http://www.postgresql.org/docs/9.1/static/ddl-partitioning.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 13:18:53 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
just_vladimir, вот же любители спорить)). Первый мой пост аффтару: авторNetImperia, Понять причину Почему их много. И исправить. пусть скажет причину. Так понятно? ЗЫ. Я кстати, ни с кем тут не спорил). Даже с тем что Хибер выбросить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 13:29:12 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Petro123, понять причину - я задал уточняющий вопрос, являются ли данные множественные таблицы оптимизацией основанной на шардинге, на что получил утвердительный ответ. При этом замечу, что Ваш вопрос о причине было несколько позже :) Или Вы о какой-то другой причине? ЗЫ: да Вы тоже смотрю не проч по спорить ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 14:03:45 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
just_vladimir, )) ну дак мы все разные. Тебя ответ - "Да" - устроил. Меня, как и вот тут..... партиции и производительность - не устраивает. Поэтому, не будем толкаться локтями). ЗЫ. Спор без автора топика - мазохизм)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 14:15:54 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Petro123ЗЫ. Спор без автора топика - мазохизм)). Вот с этим соглашусь :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 14:21:34 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
NetImperiajust_vladimirNetImperia, я так понимаю у вас таким образом реализован шардинг, вроде в hibernate было что-то такое, посмотрите hibernate shards. А так соглашусь с Blazkowicz, что стоит хорошо подумать, а нужен ли Вам hibernate? Именно. Спасибо за наводку. Сел читать. Шардинг — это когда на разных серверах и в разных базах. А это — просто хрень какая -то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 14:51:37 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Я удивлён что такие споры из-за моего вопроса. Приоткрою немного инфы. :) Скажу сразу. Это не публичный проект. Изначально проект был 1 сервер (за 300$ в месяц) + MySQL 3 + PHP 3. Тогда и не планировалось что данных будет так много. Данных становилось всё больше и больше. И они перестали вмещаться на один винт. Помимо этого, поиск даже по индексу занимал очень много времени. Так как решать надо было быстро, да и денег было мало. В результате просто добавили винты и таблицы поделены на части. Через некоторое время проект медленно начали переписывать на Java. Потом проект был заброшен. Но продолжал работать. И так всё это продолжалось довольно долго. В результате это всё превратилось в полное извращение. Сейчас это монстр из 7 компов в каждом 36 винтов. Часть на PHP, часть на Java и есть даже кусок на ruby(кто на нём написал до сих пор не ясно. Очень хочется поймать его и кое что оторвать). + MySQL 5 Вообщем 100% пример. Как нельзя делать проекты. Недавно было решено таки закончить с перепиской на Java. Обозначалось это фразой: Ты у нас сейчас свободен. Вот и иди занимайся :) Попутно решил изучить Hibernate получше. Как понимаете сейчас весь это зоопарк выглядит просто дико. Но что есть то есть. Понятное дело что по хорошему надо сделать тупо кластер. Но сейчас нет денег на это. У проекта очень ограниченный бюджет. По поводу структуры: Для тех кто По поводу всяких Oracle итд. Опять-же всё упирается в деньги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 17:10:34 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
MySQL 5 умеет всяческий partitioning. Может действительно всё в одну таблицу слить? (но оставить в разных файлах как и есть). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 17:17:32 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
По поводу структуры: Таблицы которых так много. Это что-то вроде логов к которым постоянно обращение идёт. Но помимо этих, есть много обычных. Они небольшие. Но с ними тоже работа идёт. Именно поэтому хотелось сделать Hibernate. Чтобы упростить себе жизнь. По поводу почему сделано столько таблиц. 1) Они не помещались на диске. 2) На кластер не было денег. (да и сейчас нет) 3) Скорость поиска даже по Primary key быстрее к маленькой таблице чем к большой. 4) Это не Oracle это MySQL. В нём немного по другому всё :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 17:17:55 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, Яб за. НО... Для того чтобы всё слить в одну. Нужен кластер. Создавать кластер надо на чистом компе. Отсюда встаёт вопрос, где взять 7 компов с 36 винтами... Или куда скопировать эти данные. И как всё это настроить за 2 дня. И главное где взять деньги на новое железо. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 17:21:44 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
NetImperiaПонятное дело что по хорошему надо сделать тупо кластер. нет. По хорошему надо: - начать всё таки Новый проект с Новой моделью - привести цифры, а не бла-бла .... 36 винтов - эти цифры на ветку по СУБД, а не Java - нанять или выделить спеца по СУБД, т.к. данных Много. авторСейчас это монстр из 7 компов в каждом 36 винтов а денег на ЗП програмистов хватает? Т.к. счас вы идёте по маппингу Хибера на 86 винтов. авторВообщем 100% пример. Как нельзя делать проекты. да ЗЫ. Какой размер БД, т.к. есть сиквел и оракл бесплатный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 17:21:46 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
NetImperiaЭто что-то вроде логов к которым постоянно обращение идёт зачем? - сливайте логи в другую БД (OLAP - OLTP) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 17:23:58 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Нужен кластер. Создавать кластер надо на чистом компе. Отсюда встаёт вопрос, где взять 7 компов с 36 винтами... Подержанный SAN такого объема стоит в районе 500 000 р. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 17:52:29 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
3) Скорость поиска даже по Primary key быстрее к маленькой таблице чем к большой. Вообще-то, все равно. Btree очень медленно растет в глубину. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 17:54:57 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
NetImperia, а для чего нужно работать с логами через Hibernate? Сделайте работу с нормальными объектами через Hibernate, а логи лейте в какой нибудь отдельный MongoDB, т.к. на сколько понимаю требований по удовлетворению ACID нету. Как обойтись имеющимся хардваром, то достаточно выделить один компьютер, частями, хоть по одной табличке переливать и по мере освобождения ресурсов производить их переброску. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 17:55:26 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Petro123нет. По хорошему надо: - начать всё таки Новый проект с Новой моделью По хорошему да. Но у нас не тот случай. Это не проект который пачками деньги приносит. Именно по этому, мы не можем, просто взять и купить новое железо. Этот проект по большей части окупает сервера + админа который следит за ним + очень немного остаётся. Petro123- привести цифры, а не бла-бла .... 36 винтов Какие именно? 7 компов Dual Xeon 2650 + 32Gb памяти + Винты 1 Tb (36) Обращений к базе примерно 30 в секунду. По поводу как идёт обращение к базе и этим 7 компам. В зависимости от ID идёт подключение к одному или иному компу. Petro123- эти цифры на ветку по СУБД, а не Java Изначально был вопрос про то как замапить Hibernate. А не по SQL. А это всё я привёл, только, что-бы было понятно почему такой бардак. Petro123- нанять или выделить спеца по СУБД, т.к. данных Много. Вот меня и выделили. В базах я вроде неплохо разбираюсь. Но плохо разбираюсь в Hibernate. По поводу нанять. Возвращаемся к вопросу о деньгах. Petro123ЗЫ. Какой размер БД, т.к. есть сиквел и оракл бесплатный База сейчас ~203Тb Поэтому Оракл уже не бесплатен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 18:02:22 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Petro123NetImperiaЭто что-то вроде логов к которым постоянно обращение идёт зачем? - сливайте логи в другую БД (OLAP - OLTP) Это не то чтобы логи. Как таковые. Это данные с нескольких источников + они еще и обновляться могут. Понятно что сейчас эта архитектура просто бред. Но какие-то глобальные правки сделать не представляется возможным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 18:06:24 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪНужен кластер. Создавать кластер надо на чистом компе. Отсюда встаёт вопрос, где взять 7 компов с 36 винтами... Подержанный SAN такого объема стоит в районе 500 000 р. Вопрос в деньгах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 18:06:50 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Йуный джавистЪ3) Скорость поиска даже по Primary key быстрее к маленькой таблице чем к большой. Вообще-то, все равно. Btree очень медленно растет в глубину. Когда это делалось был. MySQL 3.... Тогда была другая история. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 18:08:09 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
just_vladimirNetImperia, а для чего нужно работать с логами через Hibernate? Хотелось сделать красиво :) Но видимо не выйдет just_vladimirСделайте работу с нормальными объектами через Hibernate, а логи лейте в какой нибудь отдельный MongoDB, т.к. на сколько понимаю требований по удовлетворению ACID нету. Как обойтись имеющимся хардваром, то достаточно выделить один компьютер, частями, хоть по одной табличке переливать и по мере освобождения ресурсов производить их переброску. Я к этому и стремлюсь. Но для начала надо навести порядок в самом коде. Зоопарк из Java + PHP + Ruby это не вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 18:10:50 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
NetImperiaБаза сейчас ~203Тb Поэтому Оракл уже не бесплатен.А на чем такие объемы? На ум приходит только BLOB в БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2013, 22:52:58 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
WGANetImperiaБаза сейчас ~203Тb Поэтому Оракл уже не бесплатен.А на чем такие объемы? На ум приходит только BLOB в БД А это скорее всего опечатка - 203 Tб на 36 1-Тб винтах могут поместиться, разве что там включена компрессия... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2013, 00:35:22 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Автор, вы как сделаете что-нибудь, напишите подробнее "архитектуру" решения и производительность. Ради интереса и обмена опытом:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2013, 09:35:09 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
WGANetImperia База сейчас ~203Тb Поэтому Оракл уже не бесплатен.А на чем такие объемы? На ум приходит только BLOB в БД вот и я думаю, с этих цифр и надо было начинать. Т.к. изучать Хибер на куче таблица_1...N не следует. Аффтар! Неужели нельзя найти похожую предметную область? Почему все думают, что у них проект на нобелевскую? - обсуждали проект на форуме своей БД? Ссылка есть?...про терабайты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2013, 10:02:32 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
перечитал ещё раз... NetImperiaХотелось сделать красиво :) Но видимо не выйдет IMHO - если эти таблы просто _сырые_ входные данные, то исключить их из Модели (Хибера). Рассматривать их как "предбанник" с ETL импортом в основную систему. При импорте огрублять или агрегировать только то, что нужно для бизнеса. Не могут быть столько данных оперативно нужны бизнесу. (могут, но тогда это Хранилище-витрины и т.д.) Хибер используют для простых CRUD, а не для аналитики-кубов-отчётов-агрегации-статистики. 2. Производительность \ железо \ разбивку на партиции надо на форуме БД. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2013, 11:30:14 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
NetImperiaПо поводу структуры: Таблицы которых так много. Это что-то вроде логов к которым постоянно обращение идёт. Но помимо этих, есть много обычных. Они небольшие. Но с ними тоже работа идёт. Именно поэтому хотелось сделать Hibernate. Чтобы упростить себе жизнь. По поводу почему сделано столько таблиц. 1) Они не помещались на диске. 2) На кластер не было денег. (да и сейчас нет) 3) Скорость поиска даже по Primary key быстрее к маленькой таблице чем к большой. 4) Это не Oracle это MySQL. В нём немного по другому всё :) Ну так тогда может ну его на хер этот хибирнейт? Не используй его В ЭТОМ МЕСТЕ, для этих таблиц,. И все... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2013, 13:30:32 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
Хайбернейт тут не поможет т.к. проект Hibernate Shards уже скорее мертв. Несколько лет назад там еще была какая-то активность, но сейчас он уже все вроде бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2013, 14:20:31 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
WGANetImperiaБаза сейчас ~203Тb Поэтому Оракл уже не бесплатен.А на чем такие объемы? На ум приходит только BLOB в БД очень много Text полей. Плюс там очень много записей. Локшин МаркWGAпропущено... А на чем такие объемы? На ум приходит только BLOB в БД А это скорее всего опечатка - 203 Tб на 36 1-Тб винтах могут поместиться, разве что там включена компрессия... 203 это не на 1 компе, а на 7 Petro123WGAпропущено... А на чем такие объемы? На ум приходит только BLOB в БД вот и я думаю, с этих цифр и надо было начинать. Т.к. изучать Хибер на куче таблица_1...N не следует. Аффтар! Неужели нельзя найти похожую предметную область? Почему все думают, что у них проект на нобелевскую? - обсуждали проект на форуме своей БД? Ссылка есть?...про терабайты? Если вы посмотрите на тему. Я спрашивал как замапить. А не как сделать структуру базы нормальную. Хотелось сделать красивую и удобную обёртку на Hibernate. Но понял уже, что Hibernate такое нормально без костылей не умеет. Поэтому отказался от этой идеи. И при чём тут нобелевская. Просто есть живой проект надо переписать код его. Ничего сверх естественного. Как я уже говорил ранее. У меня нет сейчас возможности менять структуру базы. Всё что я сейчас пытаюсь сделать, это переписать весь код на Java не трогая базу. Всех почему-то понесло обсуждать кривую базу. :) Тему можно закрывать. Я всё понял. Всем спасибо за критику и советы. P.S. Если уж так всем хочется на тему базы поговорить. Можем это приватно сделать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2013, 15:01:02 |
|
||
|
Hibernate очень много одинаковых таблиц
|
|||
|---|---|---|---|
|
#18+
NetImperia, Я бы посоветовал сделать шардинг самому. Один комп - один сервер приложений. А на Jetty (например) запрограммировать правила куда и когда перекидывать запросы. Тут и hibernate не лишним окажется, и менять архитектурно по минимуму придется. NetImperiaP.S. Если уж так всем хочется на тему базы поговорить. Можем это приватно сделать :)Интересно было бы посмотреть на БД таких объемов. Как с Вами можно связаться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2013, 16:02:01 |
|
||
|
|

start [/forum/topic.php?all=1&fid=59&tid=2129358]: |
0ms |
get settings: |
15ms |
get forum list: |
25ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
59ms |
get topic data: |
23ms |
get forum data: |
6ms |
get page messages: |
138ms |
get tp. blocked users: |
3ms |
| others: | 299ms |
| total: | 582ms |

| 0 / 0 |
