Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6 7 8 9 10 .. 13   вперед  Ctrl
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
stop
Arm79
Посмотрел примеры. И что, запросы тоже надо в JSON писать? Вообще же жесть.
Реализуй LINQ-провайдер, тогда хоть перспективы появятся.


Там есть Link Queries. Дот Нет, Джава, С++
Linq.NET провайдер не реализовую ввиду невозможности его портировать под другие языковые клиенты.
Вот это прям аргумент :) У 10gen почему-то такая проблема не встала.
1 апр 16, 19:29    [19006704]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
stop
Монгу в 10+ раз и тд.

ну да, ну да... а где бенчмарки с участием различных движков MongoDB посмотреть, трёх-четырёх?
1 апр 16, 19:32    [19006713]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
stop
Member [заблокирован]

Откуда: blog.pikosec.com
Сообщений: 405
skyANA
stop
Монгу в 10+ раз и тд.

ну да, ну да... а где бенчмарки с участием различных движков MongoDB посмотреть, трёх-четырёх?


У вас есть отличная возможность, сделать бенчмарк на любой из выбраных вами движков.
Вот тут есть подробнее тесты.

https://github.com/Bazist/DniproServer/blob/master/DniproDB/DniproDB/Test.h

На что способна ваша машинка с Днипро, можно узнать если в консоли запустить db.SelfTest()

Также я выкладывал выше результаты более высокоуровневых бенчмарков, через ДотНет провайдер.
1 апр 16, 19:37    [19006742]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
stop
Member [заблокирован]

Откуда: blog.pikosec.com
Сообщений: 405
Также если будете делать тесты, учитывайте пожалуйста, что Mongo не поддерживает ACID и Транзакции.
А также при добавлении документа, он не индексируется по всем полям ( кроме блоб ). Так что желательно это учесть в бенчмарках.

Со своей стороны скажу, что архитектура Монги неочень.
Эти bson-ы никуда не годятся.
У меня подходы совершенно другие и резульаты совершенно другие.
1 апр 16, 19:45    [19006770]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3697
stop
А также при добавлении документа, он не индексируется по всем полям ( кроме блоб ).

А если это и не нужно?

Например, добавляется сложный иерархический и весьма объемный json. Зачем мне индексировать все поля? Какой оверхед на индексы использует ваша СУБД?

Кстати, в PostreeSql используется бинарный формат json. Вы анализировали?
1 апр 16, 19:55    [19006795]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
stop
Member [заблокирован]

Откуда: blog.pikosec.com
Сообщений: 405
Такова специфика базы.
Наконец с пользователя снят головняк добавлять индексы.
Если индекс не нужен. Ну там картинка видео длинный текст - создавайте блоб.

По поводу размеров тут все специфично. Инвертация дает компрессию данных. На это можно найти много примеров. Но есть и оверхед в других примерах. Для разных данных он будет разный как и везде
1 апр 16, 20:06    [19006821]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
stop

На открытом. В рамках импортозамещения у вас там как я понял свои правила игры.

Зато на в рамках импортозамещения нет опасных конкурентов. Там качество может быть ниже, а цена выше. Такая возможность не часто бывает.

А на открытом начнется: Флэшбэки, Секции (партиции), Резервные БД, Синхронная репликация, Аналитические запросы с оконными ф-ми и т.д. и т.п. Тут надо что-то эдакое, чтобы прорваться.
1 апр 16, 20:56    [19007015]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
stop
Также если будете делать тесты, учитывайте пожалуйста, что Mongo не поддерживает ACID и Транзакции.
А также при добавлении документа, он не индексируется по всем полям ( кроме блоб ). Так что желательно это учесть в бенчмарках.

А на кой оно мне нужно?

stop
Со своей стороны скажу, что архитектура Монги неочень.
Эти bson-ы никуда не годятся.
У меня подходы совершенно другие и резульаты совершенно другие.

Раскройте тему, о чём это Вы? О каком конкретно движке монги?
1 апр 16, 21:06    [19007065]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
stop
Такова специфика базы.
Наконец с пользователя снят головняк добавлять индексы.

А у пользователей когда-то был такой головняк? :) И кстати какие структуры Вы для индексов используете?
1 апр 16, 21:10    [19007085]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
stop
Member [заблокирован]

Откуда: blog.pikosec.com
Сообщений: 405
Ну окей. Давайте начнем с азов.
Тут важно понять саму архитектуру.

Arm79
Например, добавляется сложный иерархический и весьма объемный json.


Допустим у нас есть обьект, сложный, иерархический. Допустим это Джисон и занимает 1 мб.
В коллекции у вас таких джисонов допустим 100 тысяч.

Итак, берем формат

Arm79
Кстати, в PostreeSql используется бинарный формат json. Вы анализировали?


И пытаемся понять, что у нас произойдет если мы захотим, допустим, вставить 1 млн атрибутов в середину ...
Один новый атрибут, для каждого документа. Очевидно что Монге или Постгресу прийдется идти и перезаписывать каждый такой бинарный джисон ! А сколько это займет времени ?
Не мало. Мегабайты прочитать и перезаписать. С некоторыми небольшими оптимизациями.

Вместе с тем Днипре достаточно просто вставить 1 млн ключей.
Днипра это сделает за считаные миллисекунды, разница буде в сотни раз с Монгой или Постгресом ...

Далее, тотже пример, с 100 млн джисонов нам нужно вычитать только по три аттрибута с каждого.
Что произойдет с бисонами и прочьим трешем ? Опять будем читать всё с небольшими оптимизациями ...

Днипре, вычитка нескольких ключей, опять шестизначные цифры в количестве запросов в секунду,
В Монге и Постгрю бинарный треш ...

Далее, компрессия. Днипра за счет инвертации будет хранить пути к атрибутам единожды, а Постгрес и Монга будет хранить дубли.
Документы однотипные все с дублями.

Короче Днипра ведет себя как поколоночное хранилище, хорошо оптимизироаное на вставки и апдейты документов,
(а что нам еще нужно?). Она предоставляет транзакции и ОРМ и имеет няшный синтаксис.
Вместе с тем Постгрес, Монго, Каучи и прочий западный треш спасет только выброс в море.

Не смотрите что это бета, чегото еще не хватает и тд. Просто используйте и принимайте участие.
В отличие от западных движков это хоть и малопопулярная бета, но она написана именно так как должна быть написана
высокоэффективная документоориентированая база.

Сегодня в репо я добавил новый раздел. DniproExample там я буду собирать примеры работ на Днипре.
1 апр 16, 21:17    [19007119]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
stop, повторю вопрос: о каком движке монги Вы говорите?
1 апр 16, 21:22    [19007139]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
+ о каком движке компрессии?
1 апр 16, 21:24    [19007145]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
stop
Member [заблокирован]

Откуда: blog.pikosec.com
Сообщений: 405
Перечитайте мой пост выше.
Также в книге моей есть архитектура. Самые первые страницы.

В целом, чтобы не разбираться в множестве этого треша, могу дать следующий ориентир.
Если база не индексирует по всем полям джисон (как полнотекстовый движок) значит
она не использует инвертацию раз, не работает эффективно два.

Кто тут неленивый, пишите бенчмарки. Но я бы не стал тратить на это время, если
вчитаться в то что я написал выше. Это глупо. Речь идет не о 10%, а о десятках и сотнях раз.
Именно во столько Днипра топчет всякие недолугие бисоны.
1 апр 16, 21:31    [19007168]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
stop
Member [заблокирован]

Откуда: blog.pikosec.com
Сообщений: 405
vadiminfo
stop
На открытом. В рамках импортозамещения у вас там как я понял свои правила игры.

Зато на в рамках импортозамещения нет опасных конкурентов. Там качество может быть ниже, а цена выше. Такая возможность не часто бывает.

А на открытом начнется: Флэшбэки, Секции (партиции), Резервные БД, Синхронная репликация, Аналитические запросы с оконными ф-ми и т.д. и т.п. Тут надо что-то эдакое, чтобы прорваться.


Думаю Днипра достаточно инновационной продукт, который показывает качественно другие результаты.
Наличие обвесов, конечно влияет на маркетинг, но всему свое время. На данный момент я считаю
что заложены очень правильные идеи и база вполне сможет задать тренд для будуйщих поколений баз данных.

Если в импортозамещение уйдут базы тогоже Стоунберга, Пост Ингрес или Линтер то ИМХО, это будет шаг назад.
Нет никаких серьезных приимуществ у этих баз и собраны они по книжкам 20ти летней давности.
1 апр 16, 21:47    [19007225]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
stop
Перечитайте мой пост выше.

Зачем? Чтобы ещё раз задать свои вопросы?

Короче ладно. Думаю Вы продолжите уходить от них, так что давайте прямо: Вы в современной монге не разбираетесь и пишите глупости.
1 апр 16, 23:22    [19007649]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
stop
В целом, чтобы не разбираться в множестве этого треша, могу дать следующий ориентир.
Если база не индексирует по всем полям джисон (как полнотекстовый движок) значит
она не использует инвертацию раз, не работает эффективно два.

А это вообще граничит с фееричным бредом.
1 апр 16, 23:26    [19007664]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
stop
Member [заблокирован]

Откуда: blog.pikosec.com
Сообщений: 405
skyANA
stop
Перечитайте мой пост выше.

Зачем? Чтобы ещё раз задать свои вопросы?

Короче ладно. Думаю Вы продолжите уходить от них, так что давайте прямо: Вы в современной монге не разбираетесь и пишите глупости.


Расскажите лучше когда современная Монга обзаведется транзакциями, а также научится блочить не весь документ а отдельные атрибуты ну и джоины запилит. И в каком из ваших перечисленных движков это реализовано.

В остальном, без бенчмарков этот разговор пуст. Поскольку нет понимания что же все-таки происходит внутри.

Удачи в дальнейшем слепом освоении американских поделок )
1 апр 16, 23:34    [19007671]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
skyANA
Member

Откуда: Зеленоград
Сообщений: 28355
stop
Этот разговор пуст. Поскольку нет понимания что же все-таки происходит внутри.

Вот это верная мысль, так как у Вас нет понимания того, что происходит внутри различных движков, доступных для монги.
1 апр 16, 23:46    [19007688]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
stop
Member [заблокирован]

Откуда: blog.pikosec.com
Сообщений: 405
skyANA
stop
Этот разговор пуст. Поскольку нет понимания что же все-таки происходит внутри.

Вот это верная мысль, так как у Вас нет понимания того, что происходит внутри различных движков, доступных для монги.


Я вам уже ответил на вопрос.
Современные движки монги - муссор. Обьяснил на пальцах как работают бисоны.
Пояснил почему такие подходы работают в десятки раз медленее.
Намекнул почему такие ущербные архитектуры не увидят транзакции и АСИД. Индусы могут поднапрячься конечно,
но на бенчмарках всеравно всех выведут на чистую воду.
Обратного вы доказать не сможете, поскольку это разговор механика (меня) и водителя (вас).
1 апр 16, 23:58    [19007734]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3697
stop
И пытаемся понять, что у нас произойдет если мы захотим, допустим, вставить 1 млн атрибутов в середину ... Очевидно что Монге или Постгресу прийдется идти и перезаписывать каждый такой бинарный джисон...

Что за странная идея? Почему я что-то должен вставлять в какую то середину? Мне например, неочевидно.

stop
Нет никаких серьезных приимуществ у этих баз и собраны они по книжкам 20ти летней давности

Эвклидова геометрия тоже, чай, не на днях появилась, и до сих актуальна. Поэтому считать то, что появилось 20 лет назад, негодным - опрометчиво.

stop
Если база не индексирует по всем полям джисон (как полнотекстовый движок) значит
она не использует инвертацию раз, не работает эффективно два.

Это совершенно неверное утверждение. Например, у меня есть сложный иерархический JSON, например, профиль клиента ЮЛ. Размер такого JSON может достигать нескольких мегабайт. Из всех реквизитов для поиска используется ну штук 50 реквизитов. Остальные несколько тысяч - идут в нагрузку. Вопрос - зачем мне тратить время на индексацию ВСЕХ реквизитов? Это бессмысленная трата времени.


stop
Обратного вы доказать не сможете, поскольку это разговор механика (меня) и водителя (вас).

На всякий случай - тема называется "... предлагаю обсудить...". Не скатывайтесь в персональные оскорбления, иначе будете обсуждать вашу БД сами с собой. Проявите конструктивизм. Выложите тест, с загрузкой пользовательских JSON (а не то, что у вас 3 атрибута), чтобы каждый мог запустить у себя и рассказать о результатах.


Кроме того, осталась нераскрыта тема того, каким образом у вас обеспечивается транзакционность, если скорость вставки документов 1-3 млн/сек, а диск, собака такая, не поддерживает такую скорость, из чего следует, что эта толпа документов только у вас в оперативке.

И второй момент, который я хотел бы услышать - если я загружаю JSON с 2 тысячами атрибутов и размером 1 мегабайт, то какой оверхед по потребляемой памяти будет заниматься индексами?

ЗЫ Если речь о "импортозамещении", сравните ваше поделие с Tarantool
2 апр 16, 10:54    [19008210]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
stop
Member [заблокирован]

Откуда: blog.pikosec.com
Сообщений: 405
Arm79
Что за странная идея? Почему я что-то должен вставлять в какую то середину? Мне например, неочевидно.


Обычная идея, если знать что такое Джисон.
Например документ клиент, содержит внутри массив с покупками, которые постоянно обновляется.

Arm79
Это совершенно неверное утверждение. Например, у меня есть сложный иерархический JSON, например, профиль клиента ЮЛ. Размер такого JSON может достигать нескольких мегабайт. Из всех реквизитов для поиска используется ну штук 50 реквизитов. Остальные несколько тысяч - идут в нагрузку. Вопрос - зачем мне тратить время на индексацию ВСЕХ реквизитов? Это бессмысленная трата времени.


А мне так удобней, можно искать по всем атрибутам. Строить разную аналитику.
Если работает быстрее, то почему бы и нет, почему меня должно заботить что чтото там не должно быть проиндексировано ?

stop
Выложите тест, с загрузкой пользовательских JSON (а не то, что у вас 3 атрибута), чтобы каждый мог запустить у себя и рассказать о результатах.


Тестов у меня уже предостаточно. (из выложеных только уже под 20)
Если хотите свой сделать - пожалуйста делайте.

stop
Кроме того, осталась нераскрыта тема того, каким образом у вас обеспечивается транзакционность, если скорость вставки документов 1-3 млн/сек, а диск, собака такая, не поддерживает такую скорость, из чего следует, что эта толпа документов только у вас в оперативке.


Если в одной транзакции миллион вставок то позволяет делать. Поскольку коммит на диск происходит только на последней операции
db.Commit().

stop
И второй момент, который я хотел бы услышать - если я загружаю JSON с 2 тысячами атрибутов и размером 1 мегабайт, то какой оверхед по потребляемой памяти будет заниматься индексами?


Я вам уже отетил. От компрессии до оверхеда. Для сложных иерархических обьектов скорее всего будет компрессия.
Подробнее - изучать архитектуру и пробовать.

stop
ЗЫ Если речь о "импортозамещении", сравните ваше поделие с Tarantool


Не вижу смысла сравнивать базу с полноценными транзакциями, ОРМ и джисонами
с обычным ИнМемори Key\Value. Ф-сть не эквивалентна.
2 апр 16, 11:33    [19008292]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
Arm79

ЗЫ Если речь о "импортозамещении", сравните ваше поделие с Tarantool

А Tarantool в списке для импортозамешения? Оно как бы связано с LUA? Но это вроде бразильский язык( хотя и юзается у нас в QUIK). Они что открытые или чьи?
2 апр 16, 15:15    [19008779]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3697
vadiminfo
Arm79
ЗЫ Если речь о "импортозамещении", сравните ваше поделие с Tarantool

А Tarantool в списке для импортозамешения? Оно как бы связано с LUA? Но это вроде бразильский язык( хотя и юзается у нас в QUIK). Они что открытые или чьи?

В официальном сиске по моему нет, но mail.ru-шная разработка, opensource, LUA - это язых хранимок в TARANTool. Для CRUD операций не нужен.
2 апр 16, 17:45    [19009041]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
Arm79
Member

Откуда: МО, Раменское
Сообщений: 3697
stop
базу с полноценными транзакциями, ОРМ и джисонами
с обычным ИнМемори Key\Value

Вы бы сначала почитали про них. Они тоже дают транзакции. В отличие от вас их разработка на продуктиве.
Когда ваши сервера будут обслуживать реальные миллионы обращений секунду, как у них, тогда вы можете так пренебрежительно относиться. Пока что у вас бета. И мы обсуждаем плюсы и минусы.

Кстати, а где это у вас ОРМ?
2 апр 16, 17:47    [19009048]     Ответить | Цитировать Сообщить модератору
 Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра)  [new]
stop
Member [заблокирован]

Откуда: blog.pikosec.com
Сообщений: 405
Arm79
stop
базу с полноценными транзакциями, ОРМ и джисонами
с обычным ИнМемори Key\Value

Вы бы сначала почитали про них.


Про кого, про них ?

Arm79
Они тоже дают транзакции.


Какие из трех стандартных видов поддерживают ? (ReadCommited, RepeatableRead, Snapshot)

Arm79
В отличие от вас их разработка на продуктиве.
Когда ваши сервера будут обслуживать реальные миллионы обращений секунду, как у них, тогда вы можете так пренебрежительно относиться. Пока что у вас бета. И мы обсуждаем плюсы и минусы.


А вы уверены что у меня не также ?
Вообщето эта Днипра пришла к нам как форк из поисковика.
А в поисковике терабайты данных и при реиндексировании
нагрузка на ядро миллиарды запросов в час.

К томуже, нет у Меил ру никаких миллионов обращений в секунду.
У Гугла даже таких нагрузок нет. Если про реальные пользовательские обращения,
то всего около 3 миллиардов запросов в сутки.

Arm79
Кстати, а где это у вас ОРМ?


А вы уверены что у них не Key\Value ?
У меня, как мы уже разобрались, можно записать в ламповом шарпе на няшном синтаксисе чтото вроде (ORM)

db.AddDoc(obj);


И всё готово. Сложный иерахический обьект сериализирован в джисон, добавлен в базу
и проиндексирован по всем полям. А каже это сделать на Тарантуле ?
2 апр 16, 20:36    [19009495]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4 5 6 7 8 9 10 .. 13   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить