|
|
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
Доброго дня Напроектировали со товарищи. Хочется видеть возможные сценарии дальнейшего (развития). Уважаемые коллеги, очень Вас прошу, какой бы дурной реализация Вам не показалась, поделитесь ссылками на похожее, замеченными потенциальными проблемами (и решением, если есть), мне как-то нужно это разруливать. Иногда я в ужасе. В чем, собственно, дело: задача была спроектировать хранилище данных с историчностью. Начиналось с обычной реляционной со многими таблицами, но постепенно пришло практически к одной таблице - логу, в которую валится полное состояние объекта сразу после его изменения. Т.е. в логе все состояния всех объектов, чтобы добыть состояние объекта указываем Ид объекта и время, сервер находит в логе последнюю версию до указанной даты. Когда нужен более сложный запрос с пересечением нескольких множеств разнотипных объектов, то во времянки получаем "снимки" множеств объектов базы на указанное время и уже на этих снимках строим запрос. Пример: Select * from @Пользователи201602081345 U inner join @Машины201602081345 M on U.id =M.UserId Пожалуйста, я в ужасе. Логически схема рабочая, но беспокоят проблемы производительности, они - это сразу ясно - огромны, но фатальны или «ещё можно побороться»? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2016, 11:26 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
...Андрей...Пожалуйста, я в ужасе. Логически схема рабочая, но беспокоят проблемы производительности, они - это сразу ясно - огромны, но фатальны или «ещё можно побороться»? Да, проблемы с производительностью будут. Но хуже, что логически схема нерабочая. Всё равно, что в проге на C# или Java сделать один массив из байтов, и пользоваться им вместо любых локальных или нелокальных переменных, ну и один тип вместо разнообразных типов. Тут нечто подобное, вместо реляционной модели, отображения бизнес-модели, атомарности, транзакций, блокировок и прочего, получается тупое хранилище массива байтов. Непонятно, зачем вообще тогда сервер RDBMS? Хранили бы просто этот массив в файле, типа "собственной СУБД". Это вполне нормальный рабочий вариант, для многих задач. Тем более у вас структура простая, одинаковые нехитрые записи одной структуры для всей системы, на массив байт и на файл хорошо ложится. При запуске проги файл читается в память, потом записывается обратно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2016, 12:29 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
...Андрей...Уважаемые коллеги, очень Вас прошу, какой бы дурной реализация Вам не показалась, поделитесь ссылками на похожее, замеченными потенциальными проблемами (и решением, если есть), мне как-то нужно это разруливать.Похожие реализации вы не найдёте, ввиду неработоспособности оных. Но можете найти многочисленные творческие всплески креативных молодых программистов с попытками реализации подобного. Например, в этом форуме (и в соседнем "Проектирование БД") можно поискать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2016, 12:32 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
...Андрей..., делала свою рдб под свою задачу. рдб заполняла данными из хранилища ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2016, 12:57 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
alexeyvgНепонятно, зачем вообще тогда сервер RDBMS? Хранили бы просто этот массив в файле, типа "собственной СУБД". Это вполне нормальный рабочий вариант, для многих задач. Тем более у вас структура простая, одинаковые нехитрые записи одной структуры для всей системы, на массив байт и на файл хорошо ложится. При запуске проги файл читается в память, потом записывается обратно. Что дали, то и юзаем. На больших проектах нет возможности принимать вообще все решения. Критерий "простоты структуры" оценить затрудняюсь. Из плюшек базы хотелось бы иметь индексы, распараллеливание, что при самостоятельной реализации на "файлах" требует отдельных стопицот человекочасов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2016, 14:34 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
Да что, нормальный вариант, такое говно решение встречается часто. Для таких решений придумали Hadoop. Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2016, 17:51 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
...Андрей...Из плюшек базы хотелось бы иметь индексы, распараллеливание, что при самостоятельной реализации на "файлах" требует отдельных стопицот человекочасов.Этих плюшек не будет, из за используемой модели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2016, 23:29 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
...Андрей...Что дали, то и юзаем. На больших проектах нет возможности принимать вообще все решения. Ну вот, ключевые решения решения отдали вам, а всякую мелочь регламентируют :-) Вообще непонятно, откуда уверенность, что модель, с которой ещё никому не удалось сделать успешного продукта, будет успешной у вас? Технические лидеры понятно, не имели успешного опыта использования такого подхода, но, наверное, они и с РСУБД ни одного проекта ещё не делали? Странные подходы у этих корпораций, впрочем, обычное дело, ничего нового... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2016, 23:37 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
alexeyvg...Андрей...Из плюшек базы хотелось бы иметь индексы, распараллеливание, что при самостоятельной реализации на "файлах" требует отдельных стопицот человекочасов.Этих плюшек не будет, из за используемой модели. В описанном выше логе присутствует индекс по времени добавления записи и по Ид, что, на мой взгляд, должно ускорять работу каждого в отдельности из тех тысяч вызовов по поиску версий объектов среза. По непонятной причине каждый сотый (приблизительно) из этих поисков отнимает значительное время - до 1.5сек. Как подтолкнуть сервер к распараллеливание не знаю, но возможно, что эта функция и так задействуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2016, 09:00 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
...Андрей..., Не совсем понятно, что значит "валится полное состояние объекта сразу после его изменения" - ведь у объектов разный набор атрибутов? В таблице есть поля-соответствия для всех полей всех обьектов? Или состояние падает в виде какого-то blob-а? ...Андрей...В описанном выше логе присутствует индекс по времени добавления записи и по Ид, что, на мой взгляд, должно ускорять работу каждого в отдельности из тех тысяч вызовов по поиску версий объектов среза. Для поиска среза конкретного объекта нужен скорее обратный индекс (ID, время) - если, конечно, количество версий среднего обьекта не превышает число актуальных объектов системы. Но построение Ваших "снимков" все равно будет идти тяжело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2016, 09:24 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин...Андрей..., Не совсем понятно, что значит "валится полное состояние объекта сразу после его изменения" - ведь у объектов разный набор атрибутов? Вся строка с объектом переводится в форму XML. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2016, 11:10 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
...Андрей...Начиналось с обычной реляционной со многими таблицами, но постепенно пришло практически к одной таблице - логу ...Андрей...но беспокоят проблемы производительности 1. Поднять статистику запросов за последний год, сделать архив базы для истории, удалить информацию за все не востребованные года по данным статистики, сжать базу данных и работать дальше. или 2. Попробовать сделать анализ количества общих типов объектов и разбить таблицу на несколько (по типам), ну да, одна сущность в разных таблицах и будущие проблемы с интерфейсом - а что делать, если уперся в стену а мусор дорог как память? И реляционная / не реляционная бд тут похоже не причем, когда основная таблица уже переполнена до немогу в отношении того железа, на котором она используется, то все действия с этой таблицей (кроме как уменьшение количества её записей) это танцы с бубном ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2016, 21:13 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
Прекиньте, пацаны, это мы сделали MongoDB, внатуре. Поражаюсь, какими путями инженерная мысль идёт в РФ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2017, 11:12 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
...Андрей..., да вы там походу знатные велосипедисты :) Event sourcing, CQRS, stream processing and Apache Kafka: What’s the connection? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2017, 11:46 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
skyANA...Андрей..., да вы там походу знатные велосипедисты :) Атож.. Зато какая гордость за Державу: из чё хошь можем сделать чё хошь. (кривой смайл) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2017, 16:30 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
...Андрей...skyANA...Андрей..., да вы там походу знатные велосипедисты :) Атож.. Зато какая гордость за Державу: из чё хошь можем сделать чё хошь. (кривой смайл) С другой стороны MongoDB изначальна задумывалась как компонент для другой платформы, что в своё время не взлетела и основатели решили сфокусироваться именно на разработке open-source БД. Так что пилить своё решение никто вам не запрещает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2017, 17:03 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
...Андрей..., кстати а не хотите выложить на GitHub, как http://neventstore.org/ ? Глядишь найдутся умельцы, что решат вам проблемы с производительностью :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2017, 17:13 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
skyANA...Андрей..., кстати а не хотите выложить на GitHub, как http://neventstore.org/ ? Глядишь найдутся умельцы, что решат вам проблемы с производительностью :) Контора дюжe опасная. К тому жe я уволилсо. Нe стыдитe – и бeз того нeловко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2017, 18:30 |
|
||
|
Много всяческих чудес на Чернобыльской АЭС
|
|||
|---|---|---|---|
|
#18+
...Андрей..., Что бы ни рассказывали теоретики, первоначальная схема вполне себе рабочая и применяется (в т.ч. на АЭС) промышленными серийными решениями на MSSQL. Просто нужно добавить сегментацию данных и запись не по одной строке, а пачками. Никто не мешает параллелить чтение. А специализированные БД тоже существуют и называются time-series dbms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2017, 18:55 |
|
||
|
|

start [/forum/topic.php?fid=32&gotonew=1&tid=1540186]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
12ms |
get first new msg: |
8ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
| others: | 234ms |
| total: | 418ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...