|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Ссылка на репо и описание . Там же есть ссылка на самоучитель, если подробнее. Если совсем кратко Документная джисон ориентированая Простой синтаксис Есть Джоины Есть ОРМ Есть Транзакции Есть АСИД Наполовину ИнМемони (блоб поля не инмемори, плюс пишет транзакционный лог) Работает весьма быстро, за счет новой архитектуры ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2016, 03:05 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Stop, Ну импортозамещение, скорее всего, хорошо подходит для такого рода баз. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2016, 10:55 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Небратское менее всего годится для импортозамещения. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2016, 11:58 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Victor MetelitsaНебратское менее всего годится для импортозамещения. Для импортозамещения все никому не известное сойдет. Где Стебелек и ФМАЗ? Их час пробил. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2016, 20:00 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
vadiminfoДля импортозамещения все никому не известное сойдет. Где Стебелек и ФМАЗ? Это и есть стебелёк, он просто переименовался. А поскольку он опять же не российский, то даже под флагом импортозамещения его не протолкнуть. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2016, 20:37 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Victor MetelitsaНебратское менее всего годится для импортозамещения. Кроме небратской республики в СНГ еще 14 республик. Плюс примерно 120-180 цивилизованных стран братских. Им импортозамещение пойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.03.2016, 22:19 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
=========================================== = DniproDB v1.0.3 [SELFTEST] (c)Booben.Com = =========================================== [Test: 1] Generate 1M jsons. Each with 3 attributes Template:{'attr1':'%d','attr2':'%d','obj':{'attr3':'%d'}}... => Time: 1610 ms. Queries/sec: 621118 =========================================== [Test: 2] Insert 1M jsons to database whithin 1M transactions. Each with 3 attributes (insert 3M attributes)... => Time: 3772 ms. Queries/sec: 265111 =========================================== [Test: 3] Insert 1M nested attributes to database within 1 transaction (for each document one new attribute)... => Time: 475 ms. Queries/sec: 2105263 =========================================== [Test: 4] Lookup 1M attributes in documents. (for each document one lookup attribute)... => Time: 279 ms. Queries/sec: 3584229 Control value: 123000000 =========================================== [Test: 5] 1M queries like: Find all docs where {'attr2':'1'}, {'attr2':'2'}, {'attr2':'3'}... => Time: 134 ms. Queries/sec: 7462686 Control value: 159655040 =========================================== [Test: 6] 1M queries like: Find all docs where {'attr1':'1','attr2':'1'}, {'attr1':'2','attr2':'2'}... => Time: 308 ms. Queries/sec: 3246753 Control value: 127691776 =========================================== [Test: 7] 1M queries like: Find all docs where {'attr1':'1','attr2':'1','obj':{'attr3':'1'}}, {'attr1':'2' 'attr2':'2', 'obj':{'attr3':'2'}}... => Time: 413 ms. Queries/sec: 2421307 Control value: 127691776 =========================================== [Test: 8] Update 1M nested attributes in database within 1 transaction (for each document one updated attribute)... => Time: 613 ms. Queries/sec: 1631321 =========================================== [Test: 12] Delete 1M nested attributes in database within 1 transaction (for each document delete one nested attribute)... => Time: 353 ms. Queries/sec: 2832861 =========================================== => Total Time: 7957 ms. Total Queries: 9000000 => [iCore 5, Dnipro v1_0_3]: 7994 ms =========================================== Restart server in normal mode ? (y/n): ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2016, 22:44 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Посмотрел примеры. И что, запросы тоже надо в JSON писать? Вообще же жесть. Реализуй LINQ-провайдер, тогда хоть перспективы появятся. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 10:38 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Arm79Реализуй LINQ-провайдерНасколько я помню, афтар принципиально против каких бы то ни было "обвесов"(его термин). Впрочем, за последний год это могло измениться. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 12:49 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
про импортозамещение уже всё решено ищите ответы в реестре отечественного ПО ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 17:26 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Arm79Посмотрел примеры. И что, запросы тоже надо в JSON писать? Вообще же жесть. Реализуй LINQ-провайдер, тогда хоть перспективы появятся. Там есть Link Queries. Дот Нет, Джава, С++ Linq.NET провайдер не реализовую ввиду невозможности его портировать под другие языковые клиенты. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 17:32 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Кстате коллекции вчера добавлены и уже залиты в последнюю версию. Вполне няшный синтаксис, который можно использовать хоть из командной строки, из джаваскрипт из чего угодно. Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 17:44 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
tanglirArm79Реализуй LINQ-провайдерНасколько я помню, афтар принципиально против каких бы то ни было "обвесов"(его термин). Впрочем, за последний год это могло измениться. Против обвесов, с сомнительной пользой. Так точнее. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 17:51 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, Вы планируете критиковать то, что в реестре отечественного ПО? Во сколько раз Ваше СУБД лучше? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 17:56 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
vadiminfostop, Вы планируете критиковать то, что в реестре отечественного ПО? Даже не знаю что в этом реестре записано. vadiminfoВо сколько раз Ваше СУБД лучше? Этот вопрос не может иметь четкого ответа в ввиду отсудствия шкалы оценки. В данном случае эта СУБД делает упор на простоту использования, транзакции и скорость. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 18:07 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopВ данном случае эта СУБД делает упор на простоту использования, транзакции и скорость. А где в вышеприведённом примере транзакции? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 18:09 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovstopВ данном случае эта СУБД делает упор на простоту использования, транзакции и скорость. А где в вышеприведённом примере транзакции? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 18:12 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Также как в других реляционных базах данных, там есть явные и неявные транзакции. Если транзакция указана явно, то указывается уровень ее изоляции. Для неявных транзакций берется по умолчанию уровень изоляции ReadCommited Но интересно конечно не это. Интересно то, что база в обычном своем режиме "топчет" тот же MS SQL в 40+ раз , Монгу в 10+ раз и тд. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 18:22 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop Даже не знаю что в этом реестре записано. . Но Вы же в рамках импортозамещения? Или на открытом рынке? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 18:49 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
vadiminfostopДаже не знаю что в этом реестре записано. . Но Вы же в рамках импортозамещения? Или на открытом рынке? На открытом. В рамках импортозамещения у вас там как я понял свои правила игры. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 18:59 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
вы серьезно считаете это : db["Employee"].AddDoc("{'fname':'MrStop'}"); няшным интерфейсом? Няшный в моем понимании: db.Employee.Insert(new Employee {fname = 'MrStop'}); или db<Employee>.Insert(new {fname = 'MrStop'}); В общем, где то как тот так. Исключительно в своих эгоистичных интересах. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 19:00 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Arm79вы серьезно считаете это : db["Employee"].AddDoc("{'fname':'MrStop'}"); няшным интерфейсом? Няшный в моем понимании: db.Employee.Insert(new Employee {fname = 'MrStop'}); или db<Employee>.Insert(new {fname = 'MrStop'}); В общем, где то как тот так. Исключительно в своих эгоистичных интересах. В первом посте, там есть ссылка и на книгу. Dnipro In Using. И там как раз есть то, что описано у Вас. Ведь Джисон, это всеголишь еще одна абстракция, удобная для тогоже Джаваскрипт, например. Выше это полноценная и очень мощная ОРМ. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 19:06 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Опять таки, исключительно эгоистическое замечание. По русски нельзя книгу? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 19:09 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
И еще замечание авторThe database required Windows platform. Installation package contains two applications. DniproServer.exe Written on C++ and running as console application which opens port 4477. А что, windows service не освоен? какой дурак будет db server держать консолькой? Любой туповатый сотрудник поддержки может легко сессию завершить, и весь сервис грохнется. Да даже и случайно можно это сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 19:11 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Arm79И еще замечание авторThe database required Windows platform. Installation package contains two applications. DniproServer.exe Written on C++ and running as console application which opens port 4477. А что, windows service не освоен? какой дурак будет db server держать консолькой? Любой туповатый сотрудник поддержки может легко сессию завершить, и весь сервис грохнется. Да даже и случайно можно это сделать Пока Beta и в отладке, то держу консолькой. Так удобней. В консольке же можно запускать запросы и выполнять скрипты прямо на сервере. Позже будут админ тулы и будет сервис. На счет русского, надеюсь почитатели новой няшной отечественной базы данных переведут документацию, там немного. В свою очередь обещаю перевод выложить в центральный репозиторий. Это же относится и к другим языкам. Беларусский, Казахский ... поболее переводов много и разных. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 19:16 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopArm79Посмотрел примеры. И что, запросы тоже надо в JSON писать? Вообще же жесть. Реализуй LINQ-провайдер, тогда хоть перспективы появятся. Там есть Link Queries. Дот Нет, Джава, С++ Linq.NET провайдер не реализовую ввиду невозможности его портировать под другие языковые клиенты.Вот это прям аргумент :) У 10gen почему-то такая проблема не встала. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 19:29 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopМонгу в 10+ раз и тд. ну да, ну да... а где бенчмарки с участием различных движков MongoDB посмотреть, трёх-четырёх? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 19:32 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstopМонгу в 10+ раз и тд. ну да, ну да... а где бенчмарки с участием различных движков MongoDB посмотреть, трёх-четырёх? У вас есть отличная возможность, сделать бенчмарк на любой из выбраных вами движков. Вот тут есть подробнее тесты. https://github.com/Bazist/DniproServer/blob/master/DniproDB/DniproDB/Test.h На что способна ваша машинка с Днипро, можно узнать если в консоли запустить db.SelfTest() Также я выкладывал выше результаты более высокоуровневых бенчмарков, через ДотНет провайдер. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 19:37 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Также если будете делать тесты, учитывайте пожалуйста, что Mongo не поддерживает ACID и Транзакции. А также при добавлении документа, он не индексируется по всем полям ( кроме блоб ). Так что желательно это учесть в бенчмарках. Со своей стороны скажу, что архитектура Монги неочень. Эти bson-ы никуда не годятся. У меня подходы совершенно другие и резульаты совершенно другие. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 19:45 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopА также при добавлении документа, он не индексируется по всем полям ( кроме блоб ). А если это и не нужно? Например, добавляется сложный иерархический и весьма объемный json. Зачем мне индексировать все поля? Какой оверхед на индексы использует ваша СУБД? Кстати, в PostreeSql используется бинарный формат json. Вы анализировали? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 19:55 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Такова специфика базы. Наконец с пользователя снят головняк добавлять индексы. Если индекс не нужен. Ну там картинка видео длинный текст - создавайте блоб. По поводу размеров тут все специфично. Инвертация дает компрессию данных. На это можно найти много примеров. Но есть и оверхед в других примерах. Для разных данных он будет разный как и везде ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 20:06 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop На открытом. В рамках импортозамещения у вас там как я понял свои правила игры. Зато на в рамках импортозамещения нет опасных конкурентов. Там качество может быть ниже, а цена выше. Такая возможность не часто бывает. А на открытом начнется: Флэшбэки, Секции (партиции), Резервные БД, Синхронная репликация, Аналитические запросы с оконными ф-ми и т.д. и т.п. Тут надо что-то эдакое, чтобы прорваться. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 20:56 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopТакже если будете делать тесты, учитывайте пожалуйста, что Mongo не поддерживает ACID и Транзакции. А также при добавлении документа, он не индексируется по всем полям ( кроме блоб ). Так что желательно это учесть в бенчмарках. А на кой оно мне нужно? stopСо своей стороны скажу, что архитектура Монги неочень. Эти bson-ы никуда не годятся. У меня подходы совершенно другие и резульаты совершенно другие. Раскройте тему, о чём это Вы? О каком конкретно движке монги? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 21:06 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopТакова специфика базы. Наконец с пользователя снят головняк добавлять индексы. А у пользователей когда-то был такой головняк? :) И кстати какие структуры Вы для индексов используете? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 21:10 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Ну окей. Давайте начнем с азов. Тут важно понять саму архитектуру. Arm79Например, добавляется сложный иерархический и весьма объемный json. Допустим у нас есть обьект, сложный, иерархический. Допустим это Джисон и занимает 1 мб. В коллекции у вас таких джисонов допустим 100 тысяч. Итак, берем формат Arm79Кстати, в PostreeSql используется бинарный формат json. Вы анализировали? И пытаемся понять, что у нас произойдет если мы захотим, допустим, вставить 1 млн атрибутов в середину ... Один новый атрибут, для каждого документа. Очевидно что Монге или Постгресу прийдется идти и перезаписывать каждый такой бинарный джисон ! А сколько это займет времени ? Не мало. Мегабайты прочитать и перезаписать. С некоторыми небольшими оптимизациями. Вместе с тем Днипре достаточно просто вставить 1 млн ключей. Днипра это сделает за считаные миллисекунды, разница буде в сотни раз с Монгой или Постгресом ... Далее, тотже пример, с 100 млн джисонов нам нужно вычитать только по три аттрибута с каждого. Что произойдет с бисонами и прочьим трешем ? Опять будем читать всё с небольшими оптимизациями ... Днипре, вычитка нескольких ключей, опять шестизначные цифры в количестве запросов в секунду, В Монге и Постгрю бинарный треш ... Далее, компрессия. Днипра за счет инвертации будет хранить пути к атрибутам единожды, а Постгрес и Монга будет хранить дубли. Документы однотипные все с дублями. Короче Днипра ведет себя как поколоночное хранилище, хорошо оптимизироаное на вставки и апдейты документов, (а что нам еще нужно?). Она предоставляет транзакции и ОРМ и имеет няшный синтаксис. Вместе с тем Постгрес, Монго, Каучи и прочий западный треш спасет только выброс в море. Не смотрите что это бета, чегото еще не хватает и тд. Просто используйте и принимайте участие. В отличие от западных движков это хоть и малопопулярная бета, но она написана именно так как должна быть написана высокоэффективная документоориентированая база. Сегодня в репо я добавил новый раздел. DniproExample там я буду собирать примеры работ на Днипре. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 21:17 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, повторю вопрос: о каком движке монги Вы говорите? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 21:22 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
+ о каком движке компрессии? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 21:24 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Перечитайте мой пост выше. Также в книге моей есть архитектура. Самые первые страницы. В целом, чтобы не разбираться в множестве этого треша, могу дать следующий ориентир. Если база не индексирует по всем полям джисон (как полнотекстовый движок) значит она не использует инвертацию раз, не работает эффективно два. Кто тут неленивый, пишите бенчмарки. Но я бы не стал тратить на это время, если вчитаться в то что я написал выше. Это глупо. Речь идет не о 10%, а о десятках и сотнях раз. Именно во столько Днипра топчет всякие недолугие бисоны. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 21:31 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
vadiminfostopНа открытом. В рамках импортозамещения у вас там как я понял свои правила игры. Зато на в рамках импортозамещения нет опасных конкурентов. Там качество может быть ниже, а цена выше. Такая возможность не часто бывает. А на открытом начнется: Флэшбэки, Секции (партиции), Резервные БД, Синхронная репликация, Аналитические запросы с оконными ф-ми и т.д. и т.п. Тут надо что-то эдакое, чтобы прорваться. Думаю Днипра достаточно инновационной продукт, который показывает качественно другие результаты. Наличие обвесов, конечно влияет на маркетинг, но всему свое время. На данный момент я считаю что заложены очень правильные идеи и база вполне сможет задать тренд для будуйщих поколений баз данных. Если в импортозамещение уйдут базы тогоже Стоунберга, Пост Ингрес или Линтер то ИМХО, это будет шаг назад. Нет никаких серьезных приимуществ у этих баз и собраны они по книжкам 20ти летней давности. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 21:47 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopПеречитайте мой пост выше. Зачем? Чтобы ещё раз задать свои вопросы? Короче ладно. Думаю Вы продолжите уходить от них, так что давайте прямо: Вы в современной монге не разбираетесь и пишите глупости. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 23:22 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopВ целом, чтобы не разбираться в множестве этого треша, могу дать следующий ориентир. Если база не индексирует по всем полям джисон (как полнотекстовый движок) значит она не использует инвертацию раз, не работает эффективно два. А это вообще граничит с фееричным бредом. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 23:26 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstopПеречитайте мой пост выше. Зачем? Чтобы ещё раз задать свои вопросы? Короче ладно. Думаю Вы продолжите уходить от них, так что давайте прямо: Вы в современной монге не разбираетесь и пишите глупости. Расскажите лучше когда современная Монга обзаведется транзакциями, а также научится блочить не весь документ а отдельные атрибуты ну и джоины запилит. И в каком из ваших перечисленных движков это реализовано. В остальном, без бенчмарков этот разговор пуст. Поскольку нет понимания что же все-таки происходит внутри. Удачи в дальнейшем слепом освоении американских поделок ) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 23:34 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopЭтот разговор пуст. Поскольку нет понимания что же все-таки происходит внутри. Вот это верная мысль, так как у Вас нет понимания того, что происходит внутри различных движков, доступных для монги. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 23:46 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstopЭтот разговор пуст. Поскольку нет понимания что же все-таки происходит внутри. Вот это верная мысль, так как у Вас нет понимания того, что происходит внутри различных движков, доступных для монги. Я вам уже ответил на вопрос. Современные движки монги - муссор. Обьяснил на пальцах как работают бисоны. Пояснил почему такие подходы работают в десятки раз медленее. Намекнул почему такие ущербные архитектуры не увидят транзакции и АСИД. Индусы могут поднапрячься конечно, но на бенчмарках всеравно всех выведут на чистую воду. Обратного вы доказать не сможете, поскольку это разговор механика (меня) и водителя (вас). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2016, 23:58 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopИ пытаемся понять, что у нас произойдет если мы захотим, допустим, вставить 1 млн атрибутов в середину ... Очевидно что Монге или Постгресу прийдется идти и перезаписывать каждый такой бинарный джисон... Что за странная идея? Почему я что-то должен вставлять в какую то середину? Мне например, неочевидно. stopНет никаких серьезных приимуществ у этих баз и собраны они по книжкам 20ти летней давности Эвклидова геометрия тоже, чай, не на днях появилась, и до сих актуальна. Поэтому считать то, что появилось 20 лет назад, негодным - опрометчиво. stopЕсли база не индексирует по всем полям джисон (как полнотекстовый движок) значит она не использует инвертацию раз, не работает эффективно два. Это совершенно неверное утверждение. Например, у меня есть сложный иерархический JSON, например, профиль клиента ЮЛ. Размер такого JSON может достигать нескольких мегабайт. Из всех реквизитов для поиска используется ну штук 50 реквизитов. Остальные несколько тысяч - идут в нагрузку. Вопрос - зачем мне тратить время на индексацию ВСЕХ реквизитов? Это бессмысленная трата времени. stopОбратного вы доказать не сможете, поскольку это разговор механика (меня) и водителя (вас). На всякий случай - тема называется "... предлагаю обсудить...". Не скатывайтесь в персональные оскорбления, иначе будете обсуждать вашу БД сами с собой. Проявите конструктивизм. Выложите тест, с загрузкой пользовательских JSON (а не то, что у вас 3 атрибута), чтобы каждый мог запустить у себя и рассказать о результатах. Кроме того, осталась нераскрыта тема того, каким образом у вас обеспечивается транзакционность, если скорость вставки документов 1-3 млн/сек, а диск, собака такая, не поддерживает такую скорость, из чего следует, что эта толпа документов только у вас в оперативке. И второй момент, который я хотел бы услышать - если я загружаю JSON с 2 тысячами атрибутов и размером 1 мегабайт, то какой оверхед по потребляемой памяти будет заниматься индексами? ЗЫ Если речь о "импортозамещении", сравните ваше поделие с Tarantool ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2016, 10:54 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Arm79Что за странная идея? Почему я что-то должен вставлять в какую то середину? Мне например, неочевидно. Обычная идея, если знать что такое Джисон. Например документ клиент, содержит внутри массив с покупками, которые постоянно обновляется. Arm79Это совершенно неверное утверждение. Например, у меня есть сложный иерархический JSON, например, профиль клиента ЮЛ. Размер такого JSON может достигать нескольких мегабайт. Из всех реквизитов для поиска используется ну штук 50 реквизитов. Остальные несколько тысяч - идут в нагрузку. Вопрос - зачем мне тратить время на индексацию ВСЕХ реквизитов? Это бессмысленная трата времени. А мне так удобней, можно искать по всем атрибутам. Строить разную аналитику. Если работает быстрее, то почему бы и нет, почему меня должно заботить что чтото там не должно быть проиндексировано ? stopВыложите тест, с загрузкой пользовательских JSON (а не то, что у вас 3 атрибута), чтобы каждый мог запустить у себя и рассказать о результатах. Тестов у меня уже предостаточно. (из выложеных только уже под 20) Если хотите свой сделать - пожалуйста делайте. stopКроме того, осталась нераскрыта тема того, каким образом у вас обеспечивается транзакционность, если скорость вставки документов 1-3 млн/сек, а диск, собака такая, не поддерживает такую скорость, из чего следует, что эта толпа документов только у вас в оперативке. Если в одной транзакции миллион вставок то позволяет делать. Поскольку коммит на диск происходит только на последней операции db.Commit(). stopИ второй момент, который я хотел бы услышать - если я загружаю JSON с 2 тысячами атрибутов и размером 1 мегабайт, то какой оверхед по потребляемой памяти будет заниматься индексами? Я вам уже отетил. От компрессии до оверхеда. Для сложных иерархических обьектов скорее всего будет компрессия. Подробнее - изучать архитектуру и пробовать. stopЗЫ Если речь о "импортозамещении", сравните ваше поделие с Tarantool Не вижу смысла сравнивать базу с полноценными транзакциями, ОРМ и джисонами с обычным ИнМемори Key\Value. Ф-сть не эквивалентна. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2016, 11:33 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Arm79 ЗЫ Если речь о "импортозамещении", сравните ваше поделие с Tarantool А Tarantool в списке для импортозамешения? Оно как бы связано с LUA? Но это вроде бразильский язык( хотя и юзается у нас в QUIK). Они что открытые или чьи? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2016, 15:15 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
vadiminfoArm79ЗЫ Если речь о "импортозамещении", сравните ваше поделие с Tarantool А Tarantool в списке для импортозамешения? Оно как бы связано с LUA? Но это вроде бразильский язык( хотя и юзается у нас в QUIK). Они что открытые или чьи? В официальном сиске по моему нет, но mail.ru-шная разработка, opensource, LUA - это язых хранимок в TARANTool. Для CRUD операций не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2016, 17:45 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopбазу с полноценными транзакциями, ОРМ и джисонами с обычным ИнМемори Key\Value Вы бы сначала почитали про них. Они тоже дают транзакции. В отличие от вас их разработка на продуктиве. Когда ваши сервера будут обслуживать реальные миллионы обращений секунду, как у них, тогда вы можете так пренебрежительно относиться. Пока что у вас бета. И мы обсуждаем плюсы и минусы. Кстати, а где это у вас ОРМ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2016, 17:47 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Arm79stopбазу с полноценными транзакциями, ОРМ и джисонами с обычным ИнМемори Key\Value Вы бы сначала почитали про них. Про кого, про них ? Arm79Они тоже дают транзакции. Какие из трех стандартных видов поддерживают ? (ReadCommited, RepeatableRead, Snapshot) Arm79В отличие от вас их разработка на продуктиве. Когда ваши сервера будут обслуживать реальные миллионы обращений секунду, как у них, тогда вы можете так пренебрежительно относиться. Пока что у вас бета. И мы обсуждаем плюсы и минусы. А вы уверены что у меня не также ? Вообщето эта Днипра пришла к нам как форк из поисковика. А в поисковике терабайты данных и при реиндексировании нагрузка на ядро миллиарды запросов в час. К томуже, нет у Меил ру никаких миллионов обращений в секунду. У Гугла даже таких нагрузок нет. Если про реальные пользовательские обращения, то всего около 3 миллиардов запросов в сутки. Arm79Кстати, а где это у вас ОРМ? А вы уверены что у них не Key\Value ? У меня, как мы уже разобрались, можно записать в ламповом шарпе на няшном синтаксисе чтото вроде (ORM) Код: c# 1.
И всё готово. Сложный иерахический обьект сериализирован в джисон, добавлен в базу и проиндексирован по всем полям. А каже это сделать на Тарантуле ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2016, 20:36 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopArm79Вы бы сначала почитали про них. Про кого, про них ? Про тарантул. Раз уж речь шла в последних постах о них. stopА вы уверены что у меня не также ? Нет, не уверен. Но я же и не отрицал, что у вас не так. stopК томуже, нет у Меил ру никаких миллионов обращений в секунду. Да ладно? ))) Вообще то каждый хит у них проверяется на наличие сессионных ключей либо их выдачу по логину/паролю + рекламная сеть. На конфе они как раз говорили, что 1-2 млн обращений в сек обслуживается 4 тарантулами, и около 10 млн (и 12 тарантулов) у них уходит на рекламную сеть. По мне так впечатляющие цифры. stopArm79Кстати, а где это у вас ОРМ? А вы уверены что у них не Key\Value ? Какое мне дело до "них"? Вы сказали - у меня ОРМ. Я спросил - где? То, что у вас "няшный" синтаксис - это не ОРМ. Безусловно - это плюс, но тогда нужно так и сказать - дружелюбный синтаксис. А ORM - это немного другое stopА каже это сделать на Тарантуле ? Насколько я помню, тарантул не работает напрямую с JSON. Там данные - бинарные + 2 вида индексов + вторичные индексы + LUA в качестве процедурного языка. Mail.ru декларирует ACID. И я им верю. Кстати, тарантул появился в Azure ЗЫ Когда вы выкатите сборку под windows-сервис, я обещаюсь поставить и погонять вашу СУБД. С консолькой я даже заморачиваться не хочу. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2016, 21:41 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Arm79Какое мне дело до "них"? Вы сказали - у меня ОРМ. Я спросил - где? То, что у вас "няшный" синтаксис - это не ОРМ. Безусловно - это плюс, но тогда нужно так и сказать - дружелюбный синтаксис. А ORM - это немного другое Ничего не понял. Вы отрицаете что это ничто иное как ORM ? А что же тогда в вашем понимании настоящая ОРМ ? Arm79Насколько я помню, тарантул не работает напрямую с JSON. Там данные - бинарные + 2 вида индексов + вторичные индексы + LUA в качестве процедурного языка. Mail.ru декларирует ACID. И я им верю. Кстати, тарантул появился в Azure Какая разница что там декларируют, если вам тяжело это применить на практике. Key\Value тяжело применять в обычных проектах, Quick Start. Поэтому вы не смогли переписать мой пример на шарпе на обычную ОРМ задачу. Arm79ЗЫ Когда вы выкатите сборку под windows-сервис, я обещаюсь поставить и погонять вашу СУБД. С консолькой я даже заморачиваться не хочу. А я вот не советую. И настоятельно рекомендую юзать Тарантул. В воспитательных целях. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2016, 21:56 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, Ну если вы считаете так, то без проблем. Для меня ваша СУБД более не интересна. Удачи в поисках менее требовательных пользователей. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2016, 22:00 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Arm79stop, Ну если вы считаете так, то без проблем. Для меня ваша СУБД более не интересна. Удачи в поисках менее требовательных пользователей. Мое мнение, любые требования должни вести к упрощению использованию СУБД а не усложнению. На первых этапах так точно. Поэтому винсервис больше напоминает требования танцора. Инсталляция сервиса будет как минимум подразумевать отдельный пакет инсталляции или запуски батников, а также разбирательства что пошло не так и копания в Вин Логах в случае ошибок. Между тем, консоль просто нужно запустить, предоставляет интерпретатор запросов и выводит ошибки, в случае чего. Думаю кто захочет попробовать, смирится с тем что нет ВинСервиса. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2016, 22:07 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopЕсли в одной транзакции миллион вставок то позволяет делать. Поскольку коммит на диск происходит только на последней операции db.Commit(). наверное подразумевается что 1млн операций по каждой из которых должен соблюдаться ICID. Т.е. количество транзакций в секунду, а не одна большая дистр тока для Win будет поддерживаться? как с масштабированием на несколько серверов? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2016, 08:33 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Бугага. Почитал тред под пивко. Весело то как. Топикстартер знатный тролль, а вы ребята ему поддакиваете, советы даёте, а ведь серьезные мужики :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2016, 14:29 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
kealon(Ruslan)stopЕсли в одной транзакции миллион вставок то позволяет делать. Поскольку коммит на диск происходит только на последней операции db.Commit(). наверное подразумевается что 1млн операций по каждой из которых должен соблюдаться ICID. Т.е. количество транзакций в секунду, а не одна большая Если речь о раздельных транзакциях, тоесть после каждой транзакции гарантированый flush() на диск, то 250-300 тыс\сек транзакций на уровне ядра. Flush на диск медленая операция. kealon(Ruslan)дистр тока для Win будет поддерживаться? Под Линукс запланирован порт к концу мая. Какието работы уже ведутся в этом направлении. kealon(Ruslan)как с масштабированием на несколько серверов? Эти работы тоже запланированы, но пока я не вижу реальных проектов где нужна срочно такая штука. Вы же учитывайте, что вот эти цифры в х10 раз, в х20 раз быстрее, по сути означает что можно выбросить N серверов на других базах и оставить 1 на днипре + 1 зеркало, опционально. Через примерно 2 недели, я стартую один крупный и сложный проект, который бекендом будет использовать Днипро. И это какбы даже не обуждается, для меня это возможность собрать качественный бекенд и секономить уйму времени, посколько кода будет соответственно тоже меньше. Я кстате добавил интересный раздел, примеры использования https://github.com/Bazist/DniproExamples Так вот болванка на этот форум на MVC.NET+DniproDB можно записать в сотню другую строк кода и час два времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2016, 17:55 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Vadim999Бугага. Почитал тред под пивко. Весело то как. Топикстартер знатный тролль, а вы ребята ему поддакиваете, советы даёте, а ведь серьезные мужики :) Уважаемый, меня тут знают как человека который копает темы по базам данных с 2010 года, тоесть шесть лет. А вы кто такой ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2016, 17:58 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopVadim999Бугага. Почитал тред под пивко. Весело то как. Топикстартер знатный тролль, а вы ребята ему поддакиваете, советы даёте, а ведь серьезные мужики :) Уважаемый, меня тут знают как человека который копает темы по базам данных с 2010 года, тоесть шесть лет. А вы кто такой ?интересно откуда 6 лет, когда Вы неделю назад зарегистрировались? я кстати тут с основания сайта, но про Вас не в курсе кто Вы такой? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2016, 19:34 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
SergSuperинтересно откуда 6 лет, когда Вы неделю назад зарегистрировались? я кстати тут с основания сайта, но про Вас не в курсе кто Вы такой? Кто я такой и какой проект представляю, еще выяснили на первой странице. Это совершенно было не сложно, поскольку людей которые занимаются созданием СУБД общего назначения с нуля в СНГ, включая коммерческие организации, можно перечислить по пальцам одной руки. Название моей БД только на этом сайте встречается больше 1300 раз в разных контекстах. А теперь я бы хотел вернуться к конструктивным и техническим вопросам, ведь именно ради них я нахожу время сюда вообще заходить. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2016, 20:24 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop.... На счет русского, надеюсь почитатели новой няшной отечественной базы данных переведут документацию, там немного. В свою очередь обещаю перевод выложить в центральный репозиторий. Это же относится и к другим языкам. Беларусский, Казахский ... поболее переводов много и разных. Вы бы на английском грамотно писали, был бы смысл. А то глаз режет. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2016, 22:49 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Я отвечаю на 99% за техническую часть проекта. С документацией естественно есть проблемы, если у Вас есть любые предложения по улучшению, вы владеете английским на хорошем уровне и Вы видите явные ишью которые хотите улучшить, то рекомендую написать в Гит ишью с конкретными предложениями по правкам. Всегда открыт к любому сотрудничеству. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2016, 23:44 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
гм, что-то мне кажется, это какой-то цирк. 18998114 stopTime: 134 ms. Queries/sec: 7462686 1млн запросов за 134 миллисекунды? То есть, на 1 запрос - 134 пикосекунды? По-моему, это какие-то рандомные циферки. stopА в поисковике терабайты данных и при реиндексировании нагрузка на ядро миллиарды запросов в час. эээ, какое еще ядро? кластер же. вся эта нагрузка прекрасно распределяется, и никакой "один" сервер никакие миллиарды запросов в час не выполняет. stopВы же учитывайте, что вот эти цифры в х10 раз, в х20 раз быстрее, по сути означает что можно выбросить N серверов на других базах и оставить 1 на днипре + 1 зеркало, опционально. я так понимаю, что Днипро - это Cache номер два, как минимум. РСУБД выкинуть, все переписать на JSON? stopна диск, то 250-300 тыс\сек транзакций на уровне ядра. на какой именно диск? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2016, 00:43 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Рекомендую бенчмарков внимательнее почитать. Исходник я присылал. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2016, 00:51 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
kdvгм, что-то мне кажется, это какой-то цирк На арене Базист жонглирует своим стебельком в ожидании очередного бана.. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2016, 09:17 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Я тут скорее зритель. А на арене те, кто не знает таблицы умножения. kdvгм, что-то мне кажется, это какой-то цирк. 18998114 stopTime: 134 ms. Queries/sec: 7462686 1млн запросов за 134 миллисекунды? То есть, на 1 запрос - 134 пикосекунды ? По-моему, это какие-то рандомные циферки. Для справки, 1 пикосекунда это одна триллионная секунды. Ктото ошибся на три порядка. Правильный ответ 134 наносекунды. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2016, 09:39 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopПравильный ответ 134 наносекунды. подумаешь, наносекунды с пикосекундами перепутал... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2016, 10:11 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Добавил метод для отката базы данных на любую дату с точностью до секунды: Формат db.RestoreOnDate(2016,04,04, 12,15) Помогает если нужно откатить всю базу данных "на вчера". (были утрачены данные неправилой бизнесс логикой приложения, запущеными скриптами, единичными апдейтами и тд) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2016, 17:21 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, думаю, пора уже предлагать Сбербанку вместо Оракла. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2016, 18:58 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
rodenstop, думаю, пора уже предлагать Сбербанку вместо Оракла. В реестре же толь барский Линтер. А эта база для рабочих и крестьян. Кстате, что там у "современного Монго" с этим делом ? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2016, 19:06 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
В книгу добавил еще три новых раздела из новой функциональности Динамические запросы Блоб поля Коллекции ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 02:11 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stoprodenstop, думаю, пора уже предлагать Сбербанку вместо Оракла. В реестре же толь барский Линтер. А эта база для рабочих и крестьян. Кстате, что там у "современного Монго" с этим делом ? Насколько я знаю современная Монго внутри службы "Одного окна" крутится. То есть как раз таки для рабочих и крестьян трудится. Причём как на местах, так и центральном сервере. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 07:23 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Нет, я про это у монго stopДобавил метод для отката базы данных на любую дату с точностью до секунды: Формат db.RestoreOnDate(2016,04,04, 12,15) Помогает если нужно откатить всю базу данных "на вчера". (были утрачены данные неправилой бизнесс логикой приложения, запущеными скриптами, единичными апдейтами и тд) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 08:55 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopНет, я про это у монго stopДобавил метод для отката базы данных на любую дату с точностью до секунды: Формат db.RestoreOnDate(2016,04,04, 12,15) Помогает если нужно откатить всю базу данных "на вчера". (были утрачены данные неправилой бизнесс логикой приложения, запущеными скриптами, единичными апдейтами и тд) Ты же механик и должен знать как это в Монге делается, разве нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 09:44 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstopНет, я про это у монго пропущено... Ты же механик и должен знать как это в Монге делается, разве нет? Механик должен знать хорошо внутренности и приемы сборки и тюнинга автомобиля, который собирается с нуля в его гараже. Знать что там в салонах автодиллеров продают за стоковый хлам, задача менеджеров по продажам американских авто. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 10:06 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAпропущено... Ты же механик и должен знать как это в Монге делается, разве нет? Механик должен знать хорошо внутренности и приемы сборки и тюнинга автомобиля, который собирается с нуля в его гараже. Знать что там в салонах автодиллеров продают за стоковый хлам, задача менеджеров по продажам американских авто. Однако упоротый механик :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 10:13 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Я думаю что США нужно нанимать более качественные кадры в пятую колонну. Кадры которые выпячивают заведомо худший товар противника на основании своей глупости никуда не годятся. Странно что ними не занимаются службы вроде ФСБ ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 11:32 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopЯ думаю что США нужно нанимать более качественные кадры в пятую колонну. Кадры которые выпячивают заведомо худший товар противника на основании своей глупости никуда не годятся. Странно что ними не занимаются службы вроде ФСБ Так в теме указаны рамки импортозамещения в США? Иначе при чем тут вообще ФСБ, ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 11:39 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Я пошутил, конечно представляю другую страну. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 13:06 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAпропущено... Ты же механик и должен знать как это в Монге делается, разве нет? Механик должен знать хорошо внутренности и приемы сборки и тюнинга автомобиля, который собирается с нуля в его гараже. Знать что там в салонах автодиллеров продают за стоковый хлам, задача менеджеров по продажам американских авто. Чукча не читатель, чукча писатель. Все нормальные БД (и языки программирования, кстати) начинались с того, что автор, великолепно разбираясь в альтернативах, определял, что по ряду параметров они его не устраивают. И уже исходя из своего понимания этого, предлагал свое решение. Удачное или нет - это другой вопрос. Ни одна нормальная СУБД не вышла из идеи - а давай-ка я что-то свое запилю! С блэкджеком и ... ! SO FAST - это вообще прекрасно. Где сравнение с ведущими СУБД на типичных задачах? Кому нужны Ваши мили, нано, пико и прочие секунды? PS Вы машину с нуля в гараже собирали? Тогда не нужно писать о том, чего не знаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 13:32 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Adxstopпропущено... Механик должен знать хорошо внутренности и приемы сборки и тюнинга автомобиля, который собирается с нуля в его гараже. Знать что там в салонах автодиллеров продают за стоковый хлам, задача менеджеров по продажам американских авто. Чукча не читатель, чукча писатель. Именно. Потому что если бы вы читали прежде чем писали, то. AdxВсе нормальные БД (и языки программирования, кстати) начинались с того, что автор, великолепно разбираясь в альтернативах, определял, что по ряду параметров они его не устраивают. И уже исходя из своего понимания этого, предлагал свое решение. Удачное или нет - это другой вопрос. Ни одна нормальная СУБД не вышла из идеи - а давай-ка я что-то свое запилю! С блэкджеком и ... ! Знали бы о приимуществах этой базы данных и предисторию создания и AdxSO FAST - это вообще прекрасно. Где сравнение с ведущими СУБД на типичных задачах? Кому нужны Ваши мили, нано, пико и прочие секунды? И нашли бы ссылку на бенчмарки с другими базами данных, которая везде проскакивала множество раз. И после этого AdxPS Вы машину с нуля в гараже собирали? Тогда не нужно писать о том, чего не знаете. Действительно не писали того, чего не знаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 14:02 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopИ нашли бы ссылку на бенчмарки с другими базами данных Хреновый пиар. Вместо того, чтобы промоутер (это вы) давал ссылки на бенчмарки на каждый такой вопрос, вы начинаете требовать от оппонентов, чтобы они сами эти ссылки искали. Более того, вы даже делаете это в обвинительном тоне. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 14:14 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Совершенно ничего не требую. Более того, написал отличную документацию от архитектуры до примеров использоания в 45 страниц где потратив пару вечеров интересующийся могбы при теплом ламповом домашнем свете во всем разобраться. Если у человека не цель узнать чтото новое, а просто зайти и нахамить мне, то зачемже ему отвечать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 14:23 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Re: В рамках импортозамещения предлагаю обсудить новую базу (Днипра) блин а почему не импортозаместили английский синтаксис? :) должно быть Коллекция _хрень _хрень.Добавить ..... :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 16:33 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop Потому что если бы вы читали прежде чем писали, то. Знали бы о приимуществах этой базы данных и предисторию создания и Т.е. это не Ваша обязанность предоставить, а моя искать? Это вообще такой подход к распространению продукта или это лично для меня? Я должен открыть тему и в первом посте получить всю информацию. Или ссылку на нее. Не, для студенческой поделки такой подход нормален, но в теме есть слово ИМПОРТОЗАМЕЩЕНИЕ! Что Вы хотите этим замещать? stopAdxSO FAST - это вообще прекрасно. Где сравнение с ведущими СУБД на типичных задачах? Кому нужны Ваши мили, нано, пико и прочие секунды? И нашли бы ссылку на бенчмарки с другими базами данных, которая везде проскакивала множество раз. Т.е. нано и пр. ерунду Вы выложили на базовую страницу, а что-то полезное нужно искать? Вам русским языком объясняю, никому Ваш высосанный из пальца пример не нужен. Есть типовые операции, нужна информация по ним. А так это детский лепет. stopИ после этого AdxPS Вы машину с нуля в гараже собирали? Тогда не нужно писать о том, чего не знаете. Действительно не писали того, чего не знаете. Т.е. машину в гараже Вы собирали с нуля? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 16:56 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop Более того, написал отличную документацию от архитектуры до примеров использоания в 45 страниц где потратив пару вечеров интересующийся могбы при теплом ламповом домашнем свете во всем разобраться. Если у человека не цель узнать чтото новое, а просто зайти и нахамить мне, то зачемже ему отвечать ? Ни в коем случае не ставлю своей целью хамить Вам. Если то, что мне не нравится Ваш подход к делу, называется хамством - тут ничего не поделаешь. Что-то новое я могу узнать из множества источников, технологии разработки не стоят на месте, Ваша документация вряд ли меня поразит. Вы должны как разработчик убедить пользователей ее читать. Пока аргументов не вижу. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 17:04 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Вот примитивнейший пример (так делать не надо, мало тестов, типовые задачи не полностью охвачены, но все же). https://habrahabr.ru/post/274313/ ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 17:13 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Докажите Вашу персональную ценность для проекта. Зачем необходимо Вас учить не с помощью книг и материалов которые уже специально для этого написаны, а индивидуальными лекциями, повторяя то что уже написано персонально Вам. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 18:48 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Возможность Монго Днипро MS SQLПростой синтаксис Нет Да ДаОРМ Нет Да Да(сторонняя)Транзакции Нет Да три вида Да три видаРезолв дедлоков с подробным логированием Нет Да НетНаличие Джоин Нет Да ДаМинимальная блокировка на уровне Целого документа Атрибута документа На уровне строкиВозможность откатить базу данных на определенную дату Нет Да Да (в спец. режиме)Примерная скорость работы x1 x10 x0.5АСИД нет да даИнновационный подход Да Да НетСтрана производитель США Украина США ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 18:57 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Таблица очень приблизительная, просто общее т.с. впечетление. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 18:59 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopДокажите Вашу персональную ценность для проекта. Зачем необходимо Вас учить не с помощью книг и материалов которые уже специально для этого написаны, а индивидуальными лекциями, повторяя то что уже написано персонально Вам. Мою персональную ценность?! %) Я никак не пойму, Вы продукт предлагаете или ищете помощь в разработке/тестировании? Представьте, Вы заходите в салон Билайн и спрашиваете? А чем ваши тарифы лучше Мегафона? А ему - а что Вы лично можете сделать для Билайн, чтобы мы Вам предоставляли информацию? Э ... Таблица супер. stopВозможность Монго Днипро MS SQLПростой синтаксис Нет Да ДаОРМ Нет Да Да(сторонняя)Транзакции Нет Да три вида Да три видаРезолв дедлоков с подробным логированием Нет Да НетНаличие Джоин Нет Да ДаМинимальная блокировка на уровне Целого документа Атрибута документа На уровне строкиВозможность откатить базу данных на определенную дату Нет Да Да (в спец. режиме)Примерная скорость работы x1 x10 x0.5АСИД нет да даИнновационный подход Да Да НетСтрана производитель США Украина США Первую и предпоследнюю строчку выкиньте сразу. Это чистое ИМХО. Скорость работы - тоже весело. Уберите и не позорьтесь. Откат базы на дату - это для крошечных проектов, которым не нужна скорость. В серьезных базах есть backup, который решает критические проблемы. Откат базы на дату категорически не допустим при штатной работе. Впрочем, лишней возможность не будет. Наличие join - это не преимущество, это особенность языка. "Резолв деадлоков" невозможен по определению. Если он возможен - то это не дедлок. И для самообразования - в MS SQL пять видов транзакций. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 19:56 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopВозможность Монго Днипро MS SQLПростой синтаксис Нет Да ДаОРМ Нет Да Да(сторонняя)Транзакции Нет Да три вида Да три видаРезолв дедлоков с подробным логированием Нет Да НетНаличие Джоин Нет Да ДаМинимальная блокировка на уровне Целого документа Атрибута документа На уровне строкиВозможность откатить базу данных на определенную дату Нет Да Да (в спец. режиме)Примерная скорость работы x1 x10 x0.5АСИД нет да даИнновационный подход Да Да НетСтрана производитель США Украина США Почему Вы выбрали Россию, если конкурируете с США? Ведь рынок США больше. Кроме того, все равно интересно сравнение не с США, а с импортзамещенскими СУБД, раз тема так называется. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 20:29 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
AdxПервую и предпоследнюю строчку выкиньте сразу. Это чистое ИМХО. Это не ИМХО. Мне очень мало задают вопросов, что чтото не понятно в синтаксисе. Синтаксис - одна из самых сильных сторон базы, ведь с ним сталкиваешся каждый день. AdxСкорость работы - тоже весело. Уберите и не позорьтесь. Это обьективная реальность. Кто понял архитектуру, тот понял причины такой скорости. AdxОткат базы на дату - это для крошечных проектов, которым не нужна скорость. В серьезных базах есть backup, который решает критические проблемы. Откат базы на дату категорически не допустим при штатной работе. Впрочем, лишней возможность не будет. Так работает Оракл или Днипро. Остальные рассказывают что "это не нужно". AdxНаличие join - это не преимущество, это особенность языка. В документалке это приимущество. Не нужно лепить все в один документ, а можно джоинить документы. Adx"Резолв деадлоков" невозможен по определению. Если он возможен - то это не дедлок. Мой резолв, это обычный килл одной из транзакций. Но в отличии от разных MS SQL я в лог бросаю, кто залочился, на каких документах, на каких атрибутах, какие именно атрибуты документов вошли в взаимный дедлок. Это штатный режим работы сервера. AdxИ для самообразования - в MS SQL пять видов транзакций. Я думаю в новых версиях даже больше. Но основных я бы выделил три. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 20:51 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Кстате к концу недели возможно мы увидим полноценные Каскадные транзакции. Проект необходимых работ уже готов. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 20:53 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
vadiminfoПочему Вы выбрали Россию Кого интересует эта бензоколонка ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 20:56 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
StopСсылка на репо и описание . Там же есть ссылка на самоучитель, если подробнее. Рад за вас. Просьба поместить в wiki вашего проекта описание архитектуры вашей базы. Для меня так очень интересно понять почему вы выбрали тот или иной формат представления для хранения данных и почему? Сегодня на habrahabr появилась статья, что на torrent хакеры выложили данные об 50 млн. жителей Турции. http://185.100.87.84/ Turkish Citizenship Database Может быть для тестов вам эта таблица пригодится. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 21:16 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Спасибо. Владимир2012Просьба поместить в wiki вашего проекта описание архитектуры вашей базы. Один из первых разделов по архитектуре, с иллюстрациями Dnipro In Using Под капотом Днипры расположены два высокооборотистых Key\Value движка, основаных на Trie структурах. Каждый такой движок обрабатывает до 10М вставок\чтений в секунду. После разных абстракций и парсеров, с этой невероятной мощности остаются копейки, но этого хватает чтобы всеравно быть быстрее многих, если не всех. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 21:28 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ОРМ для документоориентированной СУБД - это пять :) Действительно для монги нет ОРМ, но есть ODM. Рестор на определённое время делается через mongorestore + oplog. Минимальная блокировка зависит от используемого движка (монга позволяет реализовать свой собственный concurrency control). Кстати что насчёт валидации? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 21:31 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAОРМ для документоориентированной СУБД - это пять :) Действительно для монги нет ОРМ, но есть ODM. Под .NET версия есть ? Или только для ПХП. Прокси десериализация (частичная вычитка обьекта по шаблону без его пересоздания полностью) имеется ? skyANAРестор на определённое время делается через mongorestore + oplog. Ок skyANAМинимальная блокировка зависит от используемого движка (монга позволяет реализовать свой собственный concurrency control). Я сомневаюсь что это вообще возможно. Это очень фундаментальная штука прошитая в ядре системы. skyANAКстати что насчёт валидации? Всё хорошо. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 21:49 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopОдин из первых разделов по архитектуре, с иллюстрациями Dnipro In Using Спасибо. Вот почитал некоторые страницы с http://blog.pikosec.com/ У вас имеется одно любопытное утверждение / http://blog.pikosec.com/?p=163/ Нет, давайте на чистоту. Если Вы хотите создать высокопроизводительную базу данных и в голову приходят только разные виды бинарных деревьев, хештаблицы и радиусные деревья описаные в разных трудах свыше 20 лет назад, то не стоит даже начинать. Скорей всего прийдется боротся за те пресловутые 5% усовершенствования технологии и конечноже проиграть. Поскольку до Вас это поле вспахали множество ученных и инженеров и врядли они чегото действительно ценного там пропустили. Спорить не люблю. Просто выскажу некое иное суждение. Еще толком и пахать то не начинали ... /намек на то, что неиспользованный потенциал огромен/ ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 21:58 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Владимир2012stopОдин из первых разделов по архитектуре, с иллюстрациями Dnipro In Using Спасибо. Вот почитал некоторые страницы с http://blog.pikosec.com/ У вас имеется одно любопытное утверждение / http://blog.pikosec.com/?p=163/ Нет, давайте на чистоту. Если Вы хотите создать высокопроизводительную базу данных и в голову приходят только разные виды бинарных деревьев, хештаблицы и радиусные деревья описаные в разных трудах свыше 20 лет назад, то не стоит даже начинать. Скорей всего прийдется боротся за те пресловутые 5% усовершенствования технологии и конечноже проиграть. Поскольку до Вас это поле вспахали множество ученных и инженеров и врядли они чегото действительно ценного там пропустили. Спорить не люблю. Просто выскажу некое иное суждение. Еще толком и пахать то не начинали ... /намек на то, что неиспользованный потенциал огромен/ Наконецто, хоть первый комментарий человека, который в чем то пытается разобраться. Еще раз Спасибо. Этот абзац относится скорее к реляционным базам данных, совершенствование которых проходит уже около 30 лет. Мне кажется с этих технологий уже выжали максимум. Поэтому, если нужно добиться других качественных результатов, пора выходить на новый виток эволюции. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 22:01 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAМинимальная блокировка зависит от используемого движка (монга позволяет реализовать свой собственный concurrency control). Да, еще хочу здесь добавить свой комментарий. Не один хорошо спроектированый нормальный продукт, не позволяет менять двигатели как перчатки. Такая универсальность, первый враг эффективности, ведь для коммуникации дополнительных лееров между собой нужно время, которое на уровне ядра системы должно использоваться черезвычайно эффективно. Разработчики и инженеры системы сами должни все просчитать и заложить наиболее эффективную модель. Поэтому вообще концепция "сменить движок Монги на более современный". WiredTiger или какой там последний ? Кажется мне достаточно странной. Это чтоже, разработчики сразу не угадали и не смогли собрать эффективное ядро системы ? Вообщем, спорить не буду, но сам по себе момент очень спорный. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 22:14 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopПод капотом Днипры расположены два высокооборотистых Key\Value движка, основаных на Trie структурах Почему trie? Тут говорится, что на выборках сбалансированное avl-дерево будет быстрее, да и памяти меньше забирает. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 22:20 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Я бы все-таки искренне советовал ТС обратить внимание на грамотность языка в документации, как английского, так и русского. Неграмотность заметно понижает шансы на успех. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 22:47 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Arm79stopПод капотом Днипры расположены два высокооборотистых Key\Value движка, основаных на Trie структурах Почему trie? Тут говорится, что на выборках сбалансированное avl-дерево будет быстрее, да и памяти меньше забирает. trie - это и есть модификация префиксного дерева. На хабре достаточно примитивная "иллюстративная" имплементация. Но общую идею конечно понять можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 22:58 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stoptrie - это и есть модификация префиксного дерева. На хабре достаточно примитивная "иллюстративная" имплементация. Но общую идею конечно понять можно. HArrayInt VS std::map http://wiki.pikosec.com/index.php?title=HArrayInt_VS_std::map Неплохо, неплохо, ... Код boost и stl трудноватенько понять /для меня по крайней мере/. Как по мне - "бред сивой кобылы". ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 23:11 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAОРМ для документоориентированной СУБД - это пять :) Действительно для монги нет ОРМ, но есть ODM. Под .NET версия есть ? Или только для ПХП. Родной C# Driver.. Но есть и сторонние ODM. stopПрокси десериализация (частичная вычитка обьекта по шаблону без его пересоздания полностью) имеется ? Проекции что-ли? Так с самого начала. stopskyANAМинимальная блокировка зависит от используемого движка (монга позволяет реализовать свой собственный concurrency control). Я сомневаюсь что это вообще возможно. Почитай документацию. stopskyANAКстати что насчёт валидации? Всё хорошо. Покажи как задать валидатор на уровне коллекции. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 23:30 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAМинимальная блокировка зависит от используемого движка (монга позволяет реализовать свой собственный concurrency control). Да, еще хочу здесь добавить свой комментарий. Не один хорошо спроектированый нормальный продукт, не позволяет менять двигатели как перчатки. Такая универсальность, первый враг эффективности, ведь для коммуникации дополнительных лееров между собой нужно время, которое на уровне ядра системы должно использоваться черезвычайно эффективно. Разработчики и инженеры системы сами должни все просчитать и заложить наиболее эффективную модель. Поэтому вообще концепция "сменить движок Монги на более современный". WiredTiger или какой там последний ? Кажется мне достаточно странной. Это чтоже, разработчики сразу не угадали и не смогли собрать эффективное ядро системы ? Вообщем, спорить не буду, но сам по себе момент очень спорный. Слушай, зачем гадать? Почитай документацию, она в открытом доступе. Почитай примеры переходов. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2016, 23:33 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAПокажи как задать валидатор на уровне коллекции. Если работать через ORM то сами бизнесс обьекты являются валидаторами схемы документов. Нельзя вставить левый атрибут в документ, нельзя ошибиться типом данных. Поэтому я рекомендую работать через ORM, там где это возможно. Если речь про чтото сложней, то нет. Не имплементировано еще. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 01:27 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAРодной C# Driver.. Но есть и сторонние ODM. Речь не о драйвере, а ORM. И что за странное название ODM. (Object Document Mapping ?) Тогда почему для RDBMS не назвали OTM (Object Table Mapping) Мне больше нравится название ORM, незачем тут выдумывать какихто велосипедов. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 01:29 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAРодной C# Driver.. Но есть и сторонние ODM. Речь не о драйвере, а ORM. И что за странное название ODM. (Object Document Mapping ?) Тогда почему для RDBMS не назвали OTM (Object Table Mapping) Мне больше нравится название ORM, незачем тут выдумывать какихто велосипедов. В гугл что-ли забанили? ODM - Object-Document Mapping (Mapper) ORM - Object- Relational Mapping (Mapper). Кстати, почему ты написал RDBMS ( Relational database management system), а не TDBMS, следуя своей логике? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 08:32 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, что касается драйвера, то что у тебя "можно записать в ламповом шарпе на няшном синтаксисе чтото вроде (ORM)" есть и в .NET MongoDB Driver. Плюс наряду с "няшным синтаксисом" также поддерживается Linq и просто создание фильтров, проекций и т.п. в виде объектов. Также Fluent API, поддержка dynamic, подержка async и await... В качестве экспериментальных фич добавили логирование и счётчики производительности, чтобы можно было при желание посмотреть, что происходит realtime внутри... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 08:49 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAПокажи как задать валидатор на уровне коллекции. Если работать через ORM то сами бизнесс обьекты являются валидаторами схемы документов. Нельзя вставить левый атрибут в документ, нельзя ошибиться типом данных. Поэтому я рекомендую работать через ORM, там где это возможно. Если речь про чтото сложней, то нет. Не имплементировано еще. Речь про валидацию на уровне базы, а не классов C#. Запишем, что у тебя её нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 08:53 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
А когда сравнивали с мс скл по скорости, про инмемори не забыли? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 10:57 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Mike_zaА когда сравнивали с мс скл по скорости, про инмемори не забыли? У СУБД класса импортозамещение, вроде, нет никаких инмемори и колончноориентированных таблиц, секционирований. Поэтому какой смысл не забывать? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 11:02 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Mike_zaА когда сравнивали с мс скл по скорости, про инмемори не забыли? Если и там и там данные гарантировано комитятся на диск, соблюдая ACID, то InMemory (на самом деле не совсем так, ибо блоб лежит на диске, но упустим) то достаточное наличие памяти на сервере здесь выступает просто как требование оборудования. К томуже MS SQL тоже не бегает постоянно на диск, а вполне себе позволяет кешировать данные, особенно в случае бенчмарков с однотипными запросами на одних и техже небольших таблицах. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 11:11 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstop, что касается драйвера, то что у тебя "можно записать в ламповом шарпе на няшном синтаксисе чтото вроде (ORM)" есть и в .NET MongoDB Driver. Ну окей, вот есть код для Монго как раз с исползованием драйвера. Задача которого вставить скопом простые бизнесс обьекты в базу. (Если что, бизнесс обьект, это обьект созданный для нужд логики приложения, а не для нужд базы данных) Код: c# 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. 27. 28. 29. 30. 31. 32.
Вопросов два. Как избавится от дополнительной прослойки Bson, чтобы вставлять обьекты напрямую. Ведь это же ОРМ ? Как сделать короче код, чтобы он выглядел както так, как у Днипры Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 11:18 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Прошу прощения, эта строчка неправильная List<string> docs = new List<string>(); List<object> docs = new List<object>(); ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 11:20 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop AdxОткат базы на дату - это для крошечных проектов, которым не нужна скорость. В серьезных базах есть backup, который решает критические проблемы. Откат базы на дату категорически не допустим при штатной работе. Впрочем, лишней возможность не будет. Так работает Оракл или Днипро. Остальные рассказывают что "это не нужно". Я прекрасно знаю, что в ORACLE это есть. В MS SQL есть сторонний продукт, который это реализует без проблем. Но это действительно не нужно. Впрочем ничего плохого про эту возможность я не говорил, есть разные ситуации. Где-то откатить базу на день назад не страшно. Возможность можно отнести к плюсам базы, не возражаю. stopAdx"Резолв деадлоков" невозможен по определению. Если он возможен - то это не дедлок. Мой резолв, это обычный килл одной из транзакций. Но в отличии от разных MS SQL я в лог бросаю, кто залочился, на каких документах, на каких атрибутах, какие именно атрибуты документов вошли в взаимный дедлок. Это штатный режим работы сервера. Посмешили. Дедлоки везде так "разрешаются", это базовая особенность СУБД. И с чего Вы решили, что MS SQL в лог такую информацию не пишет? stopAdxИ для самообразования - в MS SQL пять видов транзакций. Я думаю в новых версиях даже больше. Но основных я бы выделил три. Ровно пять. И все основные. Просто у Вас три, и Вы считаете их основными. Что касается "новых версий". Вы что, хотите конкурировать со старыми? MS SQL 7.0? Вообще я бы не стал бы сравнивать Ваш продукт с MS SQL. PostgreSQL, Mysql, Mongodb - сравнивать нужно с ними. PS Остальные заявления я комментировать не буду, для меня там все очевидно. Свое мнение я высказал, конструктива нет. Пусть другие комментируют, если есть желание. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 11:28 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Вопрос снимается, с Монго драйвером . ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 11:30 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Добавлю по скорости MS SQL. Посмотрел Ваше сравнение. Если бы у меня сотрудник написал написал такой код, какой написали Вы, я бы его уволил. Ну не уволил, но такого на работу бы точно не взял. Вы абсолютно ничего не понимаете в RDBMS. Да-да, я понимаю что Вы не "чукча читатель", но тогда не позорьтесь, не приводите такие примеры. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 11:40 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
AdxВы решили, что MS SQL в лог такую информацию не пишет? Можно посмотреть вид и формат лога, в котором можно совершенно недвузначно разобраться какие запросы и на каких строчках вошли в дедлок ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 11:42 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
AdxДобавлю по скорости MS SQL. Посмотрел Ваше сравнение. Если бы у меня сотрудник написал написал такой код, какой написали Вы, я бы его уволил. Ну не уволил, но такого на работу бы точно не взял. Вы абсолютно ничего не понимаете в RDBMS. Да-да, я понимаю что Вы не "чукча читатель", но тогда не позорьтесь, не приводите такие примеры. Этот код писал не я, а писал такойже как Вы девелопер, который решил во что бы то нистало "показать как надо". У Вас есть шанс переписать его правильно. Обещаю перемерять и перевыложить бенчмарки с "правильным кодом" у себя. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 11:44 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopAdxВы решили, что MS SQL в лог такую информацию не пишет? Можно посмотреть вид и формат лога, в котором можно совершенно недвузначно разобраться какие запросы и на каких строчках вошли в дедлок ? Можно. В документации все есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 12:14 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Adxstopпропущено... Можно посмотреть вид и формат лога, в котором можно совершенно недвузначно разобраться какие запросы и на каких строчках вошли в дедлок ? Можно. В документации все есть. Нет, я хочу увидеть от Вас. И правильный код, и пример лога. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 12:19 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopAdxДобавлю по скорости MS SQL. Посмотрел Ваше сравнение. Если бы у меня сотрудник написал написал такой код, какой написали Вы, я бы его уволил. Ну не уволил, но такого на работу бы точно не взял. Вы абсолютно ничего не понимаете в RDBMS. Да-да, я понимаю что Вы не "чукча читатель", но тогда не позорьтесь, не приводите такие примеры. Этот код писал не я, а писал такойже как Вы девелопер, который решил во что бы то нистало "показать как надо". У Вас есть шанс переписать его правильно. Обещаю перемерять и перевыложить бенчмарки с "правильным кодом" у себя. Не надо меня сравнивать с человеком, который написал такой код. Писать код для Ваших тестов неинтересно, поскольку никому не нужен тест на 100 одинаковых записях. Возьмите миллион РАЗНЫХ записей, на них и тестируйте. Зачем создавать индексы, если поиск все равно идет полным перебором? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 12:26 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Adxstopпропущено... Этот код писал не я, а писал такойже как Вы девелопер, который решил во что бы то нистало "показать как надо". У Вас есть шанс переписать его правильно. Обещаю перемерять и перевыложить бенчмарки с "правильным кодом" у себя. Не надо меня сравнивать с человеком, который написал такой код. Писать код для Ваших тестов неинтересно, поскольку никому не нужен тест на 100 одинаковых записях. Возьмите миллион РАЗНЫХ записей, на них и тестируйте. Зачем создавать индексы, если поиск все равно идет полным перебором? Я вас сравниваю, потому что как всегда, заявлений много. А как к делу ... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 12:28 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopЯ вас сравниваю, потому что как всегда, заявлений много. А как к делу ... Я участвовать в разработке и тестировании не собирался, это я сразу написал. Если Вам нужна помощь, так и напишите: " Нужна помощь в разработке и тестировании новой базы (Днипра) ", а не " В рамках импортозамещения предлагаю обсудить новую базу (Днипра) " Отметил очевидные вещи, так Вы сразу воспринимаете их как оскорбление. Вы же предлагаете участвовать в обсуждении, относитесь тогда нормально к критике. Не хотите - не надо, отвечайте только на хвалебные отзывы. PS Ни в коем случае не стремлюсь отговорить Вас от работы над базой. Кто, знает, может через пять лет будете в числе ведущих поставщиков СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 13:20 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop Как по мне у вас интересная разработка и у нее уже имеется некая /и не малая/ ниша в использовании. То что вы стараетесь выйти на уровень ниши, занимаемых СУБД, на мой взгляд ошибочный подход. И если будете его развивать, то скорее всего погубите все то хорошее, что у вас у же имеется. Одна из ниш /экспромтом/ - использовать возможности вашего проекта например для организации некой внутренней инфраструктуры данных. Например для решения задач обмена данными ... ... ... Удачи не желаю /это для неверующих/. С Богом! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 13:37 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Владимир2012stop Как по мне у вас интересная разработка и у нее уже имеется некая /и не малая/ ниша в использовании. То что вы стараетесь выйти на уровень ниши, занимаемых СУБД, на мой взгляд ошибочный подход. И если будете его развивать, то скорее всего погубите все то хорошее, что у вас у же имеется. Одна из ниш /экспромтом/ - использовать возможности вашего проекта например для организации некой внутренней инфраструктуры данных. Например для решения задач обмена данными ... ... ... Удачи не желаю /это для неверующих/. С Богом! Спасибо за отзыв ! Конечноже не мало времени потрачено чтобы сделать действительно удобный инструмент. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 13:52 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
AdxstopЯ вас сравниваю, потому что как всегда, заявлений много. А как к делу ... Я участвовать в разработке и тестировании не собирался, это я сразу написал. Если Вам нужна помощь, так и напишите: " Нужна помощь в разработке и тестировании новой базы (Днипра) ", а не " В рамках импортозамещения предлагаю обсудить новую базу (Днипра) " Отметил очевидные вещи, так Вы сразу воспринимаете их как оскорбление. Вы же предлагаете участвовать в обсуждении, относитесь тогда нормально к критике. Не хотите - не надо, отвечайте только на хвалебные отзывы. PS Ни в коем случае не стремлюсь отговорить Вас от работы над базой. Кто, знает, может через пять лет будете в числе ведущих поставщиков СУБД. Да есть уже разные темы. Ладно, вернемся в более конструктивное русло. Предлагаю подумать над следующей задачей. Есть каскадные транзакции. Чтото вроде BeginTran(ReadCommited) ...BeginTran(ReadCommited) ......BeginTran(Snapshot) ......CommitTran() ...CommitTran() CommitTran() Вопрос - как должни согласовываться уровни изоляций разных транзакций. Например, правильно ли что внутренняя транзакция не может иметь выше уровень изоляции чем родительская транзакции. Или если внутренняя транзакция потребовала повысить уровень изоляции, уровень родительской транзакции тоже должен быть повышен ? Примеры реализации в других БД ? И главное, почему так реализовано. Пока склоняюсь к версии, что верхний уровень изоляции не должни превышать внутреннии транзакции. Этот же метод наиболее легок в реализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 13:57 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, в других СУБД есть - обычные транзакции - 2PC транзакции - точки сохранения (некоторые их называют вложенными транзакциями, но на деле это не так) - автономные транзакции Последние действительно вложенные. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 14:24 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, якобы вложенные транзакции в полноценном виде вообще нигде не реализованы. stopПока склоняюсь к версии, что верхний уровень изоляции не должни превышать внутреннии транзакции. тут не нужно версий. Если исходная транзакция имеет уровень изолированности snapshot, вложенные транзакции никак не могут иметь уровень изолированности read committed. Вернее, могут, но толку от этого не будет никакого. Потому что в контексте внешней транзакции они все равно будут видеть только snapshot. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2016, 14:30 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Честные каскады. Протестировано. Код: plaintext 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. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2016, 18:45 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Портировал сервер под Линукс. Теперь доступно с обоих ОСей. Под Линукс правда клиентов нет толкового, только урезаный Джавай клиент, но можно поиграться в конскольке, повыполнять запросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2016, 23:38 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop Портировал сервер под Линукс. Вот неплохо бы hub с examples завести /с готовыми проектами под Visual Studio 2013 community/. Как по мне, то "на посмотреть" желающих было бы много больше. А там смотришь и использовать начнут ... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 09:29 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Есть такие проекты в специальном репозитории. Там сейчас один проект, но вообще их уже три, просто остальные не выложены. Цель их - дать шаблон на типовые задачи и показать качество (размер, понятность) кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 12:55 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Там в MVC немного намешано кода. По сути, вся бизнесс логика Форума (очень похожего на этот) заключена в этих четырех контроллерах. https://github.com/Bazist/DniproExamples/tree/master/DniproForum/DniproForum/Controllers ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 12:57 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Гы... Код: c# 1. 2. 3. 4. 5.
А сама Днипра может сгенерировать идентификатор? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 13:07 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAГы... Код: c# 1. 2. 3. 4. 5.
А сама Днипра может сгенерировать идентификатор? :) А Монго может ? Кромето того что бесполезный Guid ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 13:49 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Да, этот пример давно писали. От Ид конечноже можно избавиться. Каждый добавленный документ в базу имеет свой ИД автоматически. Спасибо за замечание, будет время, перепишу и сделаю код еще более коротким ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 13:55 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAГы... Код: c# 1. 2. 3. 4. 5.
А сама Днипра может сгенерировать идентификатор? :) А Монго может ? ObjectId ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2016, 23:57 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Добавил еще один минипроект, в коллекцию примеров использования этой СУБД в рамках тестирования каскадных транзакций. Минипроект моделирует форму сохранения конфигурации настроек. 1. Мапит все три формы на один большой документ и сохраняет его в базу. 2. Позволяет каскадно редактировать каждую настройку. Тоесть клацнули, открылась дочерняя форма, снова клацнули снова открылась дочерняя форма. Вся логика на всех формах с ОК\Отмена сохранена. 3. Позволяет очень просто расширять код. Если на форме появится еще десять контролов, то код почти не выростит по обьему. 4. При добавлении новой дочерней формы - обычный копипаст. Лезть в дебри парент формы и чтото там разбираться и прописывать дополнительно, не нужно. 5. Работает быстро, кода мало, код сам по себе очень простой. Иходники https://github.com/Bazist/DniproExamples/blob/master/ConfigScreenOnCascadeTran/ConfigScreenOnCascadeTran/MainForm.cs https://github.com/Bazist/DniproExamples/blob/master/ConfigScreenOnCascadeTran/ConfigScreenOnCascadeTran/ChildForm.cs https://github.com/Bazist/DniproExamples/blob/master/ConfigScreenOnCascadeTran/ConfigScreenOnCascadeTran/SubChildForm.cs ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 01:06 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopДобавил еще один минипроект, в коллекцию примеров использования этой СУБД в рамках тестирования каскадных транзакций. Минипроект моделирует форму сохранения конфигурации настроек. 1. Мапит все три формы на один большой документ и сохраняет его в базу. 2. Позволяет каскадно редактировать каждую настройку. Тоесть клацнули, открылась дочерняя форма, снова клацнули снова открылась дочерняя форма. Вся логика на всех формах с ОК\Отмена сохранена. 3. Позволяет очень просто расширять код. Если на форме появится еще десять контролов, то код почти не выростит по обьему. 4. При добавлении новой дочерней формы - обычный копипаст. Лезть в дебри парент формы и чтото там разбираться и прописывать дополнительно, не нужно. 5. Работает быстро, кода мало, код сам по себе очень простой. Иходники https://github.com/Bazist/DniproExamples/blob/master/ConfigScreenOnCascadeTran/ConfigScreenOnCascadeTran/MainForm.cs https://github.com/Bazist/DniproExamples/blob/master/ConfigScreenOnCascadeTran/ConfigScreenOnCascadeTran/ChildForm.cs https://github.com/Bazist/DniproExamples/blob/master/ConfigScreenOnCascadeTran/ConfigScreenOnCascadeTran/SubChildForm.cs А при чём тут СУБД и какие-то каскадные транзакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 09:30 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Посмотрел код... Это зло :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 09:39 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAПосмотрел код... Это зло :)Вы если такое пишите, то какие-то обоснования приводите, иначе как-то гаденько выглядит ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 10:28 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopДобавил еще один минипроект, в коллекцию примеров использования этой СУБД в рамках тестирования каскадных транзакций. Рад за вас. Надеюсь вас уговаривать не нужно, что вы на правильном пути и делаете хороший framework? /но работы у вас еще "не початый край"/ С Богом! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 11:12 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAА при чём тут СУБД и какие-то каскадные транзакции? Так вы код вообще смотрели ? Или это была оценка авансом. Впринципе, код ничего сложного не делает. Но он легко расширяем, функционален и его логика максимально прозрачна. В основе кода лежит один (большой) JSON документ который хранит настройки системы. Он хранится в базе данных. Точней при открытии формы его там даже нет, приложение само его создает и обновляет (добавляет новые аттрибуты). Его вид Код: javascript 1.
Дальше чтобы редактировать этот документ из приложения, открывается форма, с которой открывается еще одна, потом еще одна. Как на скрине. Все они редактируют свою часть JSON документа. Для этого редактирование каждой подчасти документа, происходит в отдельной, вложеной транзакции. На каждой кнопке Коммит или Роллбек, что позволяет выдержать следующую логику: Если на дочерних формах нажата кнопка ОК, а на родительской Cancel то изменения не сохраняются. Этот код просто показывает шаблон проектирования на основе интерактивной, каскадной транзакции. Его плюс, он не требует реализации дополнительных контейнеров по шаблону Memento (Хранитель) или использование биндингов. Он также показывает один из главных принципов SOLID, когда мы добавляем новую дочернюю форму, нам абсолютно ничего не нужно менять в родительских, более глубоких слоях приложения. Эта форма просто берет на себя ответственность редактировать определенную вложеную часть нашего JSON документа. Ну и наконец, он работает быстрее, даже не за счет базы данных, а за счет того, что данные мы загружаем в базу данных порциями. Допустим у нас на дочерней форме нужно грузить фотографии в конф скрине. Мы их загружаем по одной в транзакции, а не скопом на финальной стадии. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 11:47 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Кстате еще вскользь пробегусь по SOLID архитектуре. Почему код Днипры полностью отвечает SOLID, а другой код - нет или нужно хорошо постараться довести его до этого. Итак, код Днипры показывает единый логичный способ построить многоуровневое редактирование документа подводя всю фунциональность под хорошо признаные принципы SOLID архитектуры. Single Responsibility - Каждая дочерняя форма редактирует свою маленькую часть Джисон документа. Чаилд ответственен только за редактирование этой части документа и не лезет не в слои выше себя, не в слои ниже себя в иерахическом документе. Open/Closed principle - Каждая форма любого уровня открыта для расширения, но закрыта для изменения. Если нам нужно редактировать вложеную сущность, мы просто добавлем копипастом новый чаилд и он на себя берет часть ответственности за редактирование маленькой части Джисон документа уровня выше. Liskov substitution - Принцип, когда парент форма коммитит данные она абсолютно не знает какая глубина дочерних форм была открыта и изменена. Она просто коммитит изменения. Фрактально и рекурсивно. Interface segregation - В коде вы не увидите множество разных функций. Все поделено на максимально простые методы, эти методы похожи друг на друга и каждая форма может их использовать по своему усмотрению. Интерфейсы максимально раздроблемы на маленькие части. Dependency inversion principle - И наконец инверсия зависимостей. Вы редактируете или добавляете новую дочернюю форму при этом родительская форма абсолютно никак не меняется. Нижний слой не зависит от верхних слоев. Если в вашем Мементо или другом контейнере родительская форма берет на себя обязаность сохранять изменения своих чаилдов - то вы явно можете пролететь с СОЛИДом. В сложном приложении это означает, что при добавлении маленькой пимпачки прийдется лезть в древний и тяжелый код нижних слоев, который может быть поломан и распространить ошибки на другие свои ветки. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2016, 12:40 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
SergSuperskyANAПосмотрел код... Это зло :)Вы если такое пишите, то какие-то обоснования приводите, иначе как-то гаденько выглядит Я посмотрел код и высказал своё мнение о нем в двух словах. Обоснуйте, что же тут гаденько? :) Вы код смотрели, что о нем думаете? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 11:04 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANASergSuperпропущено... Вы если такое пишите, то какие-то обоснования приводите, иначе как-то гаденько выглядит Я посмотрел код и высказал своё мнение о нем в двух словах. Обоснуйте, что же тут гаденько? :) Вы код смотрели, что о нем думаете? Как вы могли смотреть код, если не увидели транзакций и СУБД ? Там LOC всего то около 100 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 12:44 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopЕсли на дочерних формах нажата кнопка ОК, а на родительской Cancel то изменения не сохраняются. где ж тут вложенные транзакции? по логике там описана одна транзакция и несколько форм ее и пользуют ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 13:59 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRos, если в "Рабочее время" создается транзакция и дальше идет дрилл-ап к "Смене" и дальше к "Сменности" то все работы в этих трех "формах" автоматически присоединяются к транзакции открытой в "Рабочее время" По мере возврата к корневой форме транзакция обрабатывается (и пофиг что было сделано в тех формах выше, это все было сделано в глобальном кеше клиента) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 14:17 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRos, Вы тоже в импортозамещение устремились? Чем Ваш продукт луче тех из списка разрешенных в стране? Как бы самое главное в название темы не раскрывается пока. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 15:33 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
vadiminfo, надо определить ниши 1. Как средство разработки она лучше тем, что минимизирует программирование инфраструктурных задач прикладного характере - создание и ведение структурно - поведенческой модели предметной области - автогенерация и синхронизация реляционных структур (БД) - автовизуализация моделей (со всякими валидациями и т.д.) - пессимистический, оптимистический и смешанный доступ к данным модели - динамическое автовычленение базовых доменов и мастер дата - множество алгоритмов интеллектуального поиска с учетом контекста (проекций модели) - встроенные механизмы генерации отчетов, дашбордов и т.д. аналитики без программирования - мощнейший механизм распределения прав (ров-колумн левел секьюрити) - мощнейший механизм автолукап ... Программист тут пишет только поведенческие методы модели, которые не покрыты стандартными методами. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 15:52 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRos, всякие там частичны или полные выгрузки и слияние моделей и данных и т.д., всего так не расскажешь вощем документация большая ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 15:55 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANASergSuperпропущено... Вы если такое пишите, то какие-то обоснования приводите, иначе как-то гаденько выглядит Я посмотрел код и высказал своё мнение о нем в двух словах. Обоснуйте, что же тут гаденько? :) Вы код смотрели, что о нем думаете?аргументов нет, а неприятная для автора оценка есть Вы ничего полезного не сказали, а настроение человеку попортили зачем так делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 16:23 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopЕсли на дочерних формах нажата кнопка ОК, а на родительской Cancel то изменения не сохраняются. где ж тут вложенные транзакции? по логике там описана одна транзакция и несколько форм ее и пользуют Ну давайте мыслить логически. Ключевое слово BeginTran начинает новую транзакцию (вроде логично). Там таких ключевых слов три штуки. Тоесть не получается одна штука. А каскад получается такой. db.BeginTran(); ...db.BeginTran(); ......db.BeginTran(); ......db.CommitTran(); ...db.CommitTran(); db.CommitTran(); ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 16:35 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosvadiminfo, надо определить ниши 1. Как средство разработки она лучше тем, что минимизирует программирование инфраструктурных задач прикладного характере - создание и ведение структурно - поведенческой модели предметной области - автогенерация и синхронизация реляционных структур (БД) - автовизуализация моделей (со всякими валидациями и т.д.) - пессимистический, оптимистический и смешанный доступ к данным модели - динамическое автовычленение базовых доменов и мастер дата - множество алгоритмов интеллектуального поиска с учетом контекста (проекций модели) - встроенные механизмы генерации отчетов, дашбордов и т.д. аналитики без программирования - мощнейший механизм распределения прав (ров-колумн левел секьюрити) - мощнейший механизм автолукап ... Программист тут пишет только поведенческие методы модели, которые не покрыты стандартными методами. Это все интересно, но этот топик технический. 1. Хотелось бы увидеть код всего этого дела, чтобы оценить архитектуру. 2. Хотелось бы увидеть бенчмарки . Насколько продукт работает быстрее чем аналогичные решения ? 3. Хотелось бы услышать в чем инновационность в вашей идеи ( в мире существует 100500 складских бухгалтерских ПО ) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 16:38 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosпропущено... где ж тут вложенные транзакции? по логике там описана одна транзакция и несколько форм ее и пользуют Ну давайте мыслить логически. Ключевое слово BeginTran начинает новую транзакцию (вроде логично). Там таких ключевых слов три штуки. Тоесть не получается одна штука. А каскад получается такой. db.BeginTran(); ...db.BeginTran(); ......db.BeginTran(); ......db.CommitTran(); ...db.CommitTran(); db.CommitTran(); Ну, сами по себе эти команды не дают гарантии, что вложенные бегин не делают енлист ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 17:52 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, при чем тут складские-бухские проги? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 17:53 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopЭто все интересно, но этот топик технический. 1. Хотелось бы увидеть код всего этого дела, чтобы оценить архитектуру. 2. Хотелось бы увидеть бенчмарки . Насколько продукт работает быстрее чем аналогичные решения ? 3. Хотелось бы услышать в чем инновационность в вашей идеи ( в мире существует 100500 складских бухгалтерских ПО ) чек спросил, я ответил у меня нет собственной СУБД, просто ВИПРОС все что касается БД закрывает от программиста ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 17:55 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop3. Хотелось бы услышать в чем инновационность в вашей идеи ( в мире существует 100500 складских бухгалтерских ПО ) ВИПРОСовская модель мощнее чем модель Палантир, а них капитализация 20 ярдов зелени просто у нас такие вещи не востребованы ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:02 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopпропущено... Ну давайте мыслить логически. Ключевое слово BeginTran начинает новую транзакцию (вроде логично). Там таких ключевых слов три штуки. Тоесть не получается одна штука. А каскад получается такой. db.BeginTran(); ...db.BeginTran(); ......db.BeginTran(); ......db.CommitTran(); ...db.CommitTran(); db.CommitTran(); Ну, сами по себе эти команды не дают гарантии, что вложенные бегин не делают енлист Вложенные бегин начинают вложенные транзакции. Откат вложенной транзакции не приводит к откату родительской. Но родительская может откатить все вложенные закомиченные транзакции, на любом уровне. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:12 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop3. Хотелось бы услышать в чем инновационность в вашей идеи ( в мире существует 100500 складских бухгалтерских ПО ) ВИПРОСовская модель мощнее чем модель Палантир, а них капитализация 20 ярдов зелени просто у нас такие вещи не востребованы а у вас какая капитализация ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:12 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopДальше чтобы редактировать этот документ из приложения, открывается форма, с которой открывается еще одна, потом еще одна. Как на скрине. Все они редактируют свою часть JSON документа. Для этого редактирование каждой подчасти документа, происходит в отдельной, вложеной транзакции. На каждой кнопке Коммит или Роллбек, что позволяет выдержать следующую логику: Если на дочерних формах нажата кнопка ОК, а на родительской Cancel то изменения не сохраняются. Это написал ты. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:23 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, 300 в месяц ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:23 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopВложенные бегин начинают вложенные транзакции. Откат вложенной транзакции не приводит к откату родительской. Но родительская может откатить все вложенные закомиченные транзакции, на любом уровне. а с какого бодуна откат вложенной транзкации (считай ундо части кеша) должна была привести к откату родительской транзакции? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:25 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop, 300 в месяц рублей ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:26 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
а вот если бы откат родительской транзакции не приводило бы к откату дочерних, то да - это были бы вложенные транзакции ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:26 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, угу ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:26 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopВложенные бегин начинают вложенные транзакции. Откат вложенной транзакции не приводит к откату родительской. Но родительская может откатить все вложенные закомиченные транзакции, на любом уровне. а с какого бодуна откат вложенной транзкации (считай ундо части кеша) должна была привести к откату родительской транзакции? Внимательней перечитайте что я написал. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:26 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, так я и читал транзакция там физическая одна ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:27 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop3. Хотелось бы услышать в чем инновационность в вашей идеи ( в мире существует 100500 складских бухгалтерских ПО ) ВИПРОСовская модель мощнее чем модель Палантир , а них капитализация 20 ярдов зелени просто у нас такие вещи не востребованы Чтото не совсем понял. Причем здесь складско-бухгалтерское ПО заточенное под РФ рынок к глобальным целям вотетого американского стартапа ? http://www.forbes.ru/tehno/tehnologii/64264-vsevidyashchee-oko-palantir ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:30 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop, так я и читал транзакция там физическая одна grand parent transaction действительно одна. А если с чаилд, то их три. И база данных выдает три ID чтобы ими управлять. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:31 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, да блин откуда ты взял складскую и бухскую прогу? Ответь на простой вопрос и закончим с вложенными транзакциями - Всегда ли откат корневой транзакции приводит к откату вложенных? Да или Нет ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:33 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop, да блин откуда ты взял складскую и бухскую прогу? Ответь на простой вопрос и закончим с вложенными транзакциями - Всегда ли откат корневой транзакции приводит к откату вложенных? Да или Нет Да. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:34 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, это означает что нет у тебя вложенных транзакций ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:35 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
а есть обычный механизм расширения транзакции ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:36 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop, это означает что нет у тебя вложенных транзакций Тоесть вы считаете что отмена родительской транзакции, должна коммитить вложенные. Серьезно ? А чем тогда вложенные транзакции отличаются от независимых отдельных транзакций ?? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:38 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosпропущено... ВИПРОСовская модель мощнее чем модель Палантир , а них капитализация 20 ярдов зелени просто у нас такие вещи не востребованы Чтото не совсем понял. Причем здесь складско-бухгалтерское ПО заточенное под РФ рынок к глобальным целям вотетого американского стартапа ? http://www.forbes.ru/tehno/tehnologii/64264-vsevidyashchee-oko-palantir общее у них - идея динамическая классификация ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:44 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopпропущено... Чтото не совсем понял. Причем здесь складско-бухгалтерское ПО заточенное под РФ рынок к глобальным целям вотетого американского стартапа ? http://www.forbes.ru/tehno/tehnologii/64264-vsevidyashchee-oko-palantir общее у них - идея динамическая классификация Идея у них простая как табуретка. Например вы идете подписываете документ у помощника зама, он говорит добро. Дальше идете подписываете документ у зама, он говорит добро. Наконец идете к начальнику и начальник говорит, НЕТ. И это НЕТ автоматом анулирует все решения замов, под замов и под под под замов. Учтите это логичное поведение, если вы хотите решать какие то проблемы с обработкой данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:47 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosstop, это означает что нет у тебя вложенных транзакций Тоесть вы считаете что отмена родительской транзакции, должна коммитить вложенные. Серьезно ? А чем тогда вложенные транзакции отличаются от независимых отдельных транзакций ?? Главное и самое существенное отличие - все это делается в одном коннекте 1. Вложенные транзакции - самостоятельные транзакции и если они закоммичены, то родительская не имеет право их откатить 2. Вложенные транзакции не должны привести к изменению контекста внешней транзакции ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:48 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, ты далек от тех идей и давай не будем отвлекаться от вложенных транзакций :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:49 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Назовите предметную задачу где ваша логика полезна. Кроме аудита самой транзакции где достаточно независимой транзакции. Еще раз повторю. Чем тогда вложения отличается от отдельной независимой транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 18:59 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, еще раз отвечаю - не надо открывать другой коннект (во всяком случае в NET, возможно где то это не так) а логика нормальная допустим на все что ниже у юзера имеются права зашел я в накладную :):):) менять материал (не тот материал и в справочнике нет материала нужного), дриллап в Материал, вставляю новый материал, а нет нужного едизма, дриллап в Едизм - вставляю новый едизм и коммичу, потом коммичу материал А потом оказывается что материал воще то был правильный, но новый материал и новый едизм все равно нужны Откатываю изменение материала. Родитель откатилась, а вложенные скоммичены. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:05 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Это не вложенная транзакция. Вложенность подразумевает иерархическую зависимость коммитов. У вас же достаточно открыть отдельную независимую ниоткого транзакцию и сделать коммит в справочник с нее ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:13 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopЭто не вложенная транзакция. Вложенность подразумевает иерархическую зависимость коммитов. У вас же достаточно открыть отдельную независимую ниоткого транзакцию и сделать коммит в справочник с нее для такой вложенности как у тебя не надо ничего делать просто твой BeginTran ищет - есть ли открытая транзакция и если есть то джойнится туда, а если нет открывает запускает новую транзакцию но это чревато - такая транзакция может раздуться так что не даст никому работать кроме одного в пессимизме ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:17 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosеще раз отвечаю - не надо открывать другой коннект Один коннект - одна транзакция? Суровое детство, деревянные игрушки, прибитые к полу... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:17 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, да, низзя запускать параллельные транзакции в одном коннекте, последовательно моно ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:19 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
во всяком случае когда я этим занимался было так ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:20 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopЭто не вложенная транзакция. Вложенность подразумевает иерархическую зависимость коммитов. У вас же достаточно открыть отдельную независимую ниоткого транзакцию и сделать коммит в справочник с нее для такой вложенности как у тебя не надо ничего делать просто твой BeginTran ищет - есть ли открытая транзакция и если есть то джойнится туда, а если нет открывает запускает новую транзакцию но это чревато - такая транзакция может раздуться так что не даст никому работать кроме одного в пессимизме Что значит джойнится. Не джойнится, а становится вложенной транзакцией у которой есть парент, а у паркета тоже парент. Для вашего поведения действительно можно былобы не морочится с каскадными ролбеками а тупо комитить в основное хранилище. И еще. Это версионник. Открытая транзакция ридкоммитед никого не блочит. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:23 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosDimitry Sibiryakov, да, низзя запускать параллельные транзакции в одном коннекте, последовательно моно А зачем вам в одном конекшине. Что мешает создать новый SqlConnection и там сделать доп. запрос ? Сервер вас по МАК адрессу вычислять не будет ... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:39 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, ладно, как хочешь мне то все равно что ты называешь "вложенными транзакциями" ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:42 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosDimitry Sibiryakov, да, низзя запускать параллельные транзакции в одном коннекте, последовательно моно А зачем вам в одном конекшине. Что мешает создать новый SqlConnection и там сделать доп. запрос ? Сервер вас по МАК адрессу вычислять не будет ... это стоит денег :) и есть другие резоны а так в НЕТ тогда лучше просто TransationScope пользовать и все ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:44 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop, ладно, как хочешь мне то все равно что ты называешь "вложенными транзакциями" Вложенными транзакциями я называю честные каскады, которые отлично ложатся на множество предметных задач, от конфигурейшин скринов, визардов, до разных аналитических систем с принятием решений в транзакции. К солажению многие СУБД не смогли их правильно реализовать и появилось множество разных костальных реализаций. Но важно понимать, что предметная область нам дает только один ответ на то, что такое вложеная (каскадная) транзакция. И в этом ответе - четкое субпотчинение транзакций. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:48 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopпропущено... А зачем вам в одном конекшине. Что мешает создать новый SqlConnection и там сделать доп. запрос ? Сервер вас по МАК адрессу вычислять не будет ... это стоит денег :) и есть другие резоны а так в НЕТ тогда лучше просто TransationScope пользовать и все А держать один единственный конекшин постоянно, не стоит денег ? Что произойдет с вашим единственным, если канал связи на несколько секунд рухнет во время простоя клиента и потом опять заработает. Уверены что конекшин продолжит коректно работать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:50 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, ну значит надо говорить не о "вложенных" транзакциях, а о "логических" Транзакция то ОДНА и нет там никаких больше транзакций "вложенных", если менеджер транзакций один и тот же ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:51 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosпропущено... это стоит денег :) и есть другие резоны а так в НЕТ тогда лучше просто TransationScope пользовать и все А держать один единственный конекшин постоянно, не стоит денег ? Что произойдет с вашим единственным, если канал связи на несколько секунд рухнет во время простоя клиента и потом опять заработает. Уверены что конекшин продолжит коректно работать ? почему иы выдумываешь зачем и кому надо держать открытый коннекшн постоянно? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:52 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop, ну значит надо говорить не о "вложенных" транзакциях, а о "логических" Транзакция то ОДНА и нет там никаких больше транзакций "вложенных", если менеджер транзакций один и тот же Какже одна можеть быть одна. Если вам выдается три разных ИД транзакций. Вам нужно сделать три БегинТран и три Коммит или Роллбек тран Эти транзакции даже могут иметь разный уровень изоляции и сервер создает три отдельных хранилища для ваших временных изменений ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:54 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopпропущено... А держать один единственный конекшин постоянно, не стоит денег ? Что произойдет с вашим единственным, если канал связи на несколько секунд рухнет во время простоя клиента и потом опять заработает. Уверены что конекшин продолжит коректно работать ? почему иы выдумываешь зачем и кому надо держать открытый коннекшн постоянно? Ну тогда не вижу никаких "стоит денег" в открыть еще один конекшин. Более того, ситуация Один запрос = Один новый конекшин я видел чаще чем наоборот. Сервер держит пул конекшинов и ему впринципе всеравно что вы там открываете и закрываете, он вам выдает свободный из пула и вперед. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 19:56 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAпропущено... Я посмотрел код и высказал своё мнение о нем в двух словах. Обоснуйте, что же тут гаденько? :) Вы код смотрели, что о нем думаете? Как вы могли смотреть код, если не увидели транзакций и СУБД ? Там LOC всего то около 100 Глазами я смотрел код.. Представляет он из себя пример того, как писать не надо. А так как выложен в публичный доступ, то является злом :) Так как молодой специалист может наткнуться и сделать по аналогии. Они могут всякую фигню из инета тащить. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:13 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
SergSuperskyANAпропущено... Я посмотрел код и высказал своё мнение о нем в двух словах. Обоснуйте, что же тут гаденько? :) Вы код смотрели, что о нем думаете?аргументов нет, а неприятная для автора оценка есть Вы ничего полезного не сказали, а настроение человеку попортили зачем так делать? Я коротко выразил своё мнение. Имею на это право :) Давайте, проведите своё ревью и дайте свою оценку. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:17 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAГлазами я смотрел код.. Представляет он из себя пример того, как писать не надо. Действительно. Если написать так как я показал, по канонам SOLID и в 50 строчек, то 2\3 отдела могут разогнать. Ведь их перестанет кормить говнокод. И видимо этот товарищ на это намекает. Пожалуй соглашусь. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:26 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAГлазами я смотрел код.. Представляет он из себя пример того, как писать не надо. Действительно. Если написать так как я показал, по канонам SOLID и в 50 строчек, то 2\3 отдела могут разогнать. Ведь их перестанет кормить говнокод. И видимо этот товарищ на это намекает. Пожалуй соглашусь.SOLID там нарушен и 2/3 отдела придётся подключить, чтобы потом все быстро переписать :) Я бы понял, если это был аля пример на коленке, но это же выдаётся за грамотный код.. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:31 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstopпропущено... Действительно. Если написать так как я показал, по канонам SOLID и в 50 строчек, то 2\3 отдела могут разогнать. Ведь их перестанет кормить говнокод. И видимо этот товарищ на это намекает. Пожалуй соглашусь.SOLID там нарушен и 2/3 отдела придётся подключить, чтобы потом все быстро переписать :) Я бы понял, если это был аля пример на коленке, но это же выдаётся за грамотный код.. Где нарушен ? По пунктам. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:35 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, а зачем они нужны если все равно не коммитятся без родительского коммит? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:45 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAпропущено... SOLID там нарушен и 2/3 отдела придётся подключить, чтобы потом все быстро переписать :) Я бы понял, если это был аля пример на коленке, но это же выдаётся за грамотный код.. Где нарушен ? По пунктам. Да Вашими классами нарушен :) С планшета по пунктам лень расписывать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:45 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop, а зачем они нужны если все равно не коммитятся без родительского коммит? Они коммитят промежуточные результаты. На задаче с конфигурейшин скрин это хорошо понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:48 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosstop, а зачем они нужны если все равно не коммитятся без родительского коммит? Они коммитят промежуточные результаты. На задаче с конфигурейшин скрин это хорошо понятно. как блин коммитят, если в конце родитель их откатит, а кто то успел почитать и выдать кому то? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:50 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstopпропущено... Где нарушен ? По пунктам. Да Вашими классами нарушен :) С планшета по пунктам лень расписывать. SOLID не выставляет никаких требований к количеству классов. Это общие принципы поддержки\расширения и создания слабосвязаного кода. Думаю на планшете должна открыться хотябы википедия по этой теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:50 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopпропущено... Они коммитят промежуточные результаты. На задаче с конфигурейшин скрин это хорошо понятно. как блин коммитят, если в конце родитель их откатит, а кто то успел почитать и выдать кому то? Кто успел почитать ? С незакомиченой транзакции ? Серьезно ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:51 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
у тебя стандартный TransactionScoupe и возможно не распределенная если я сделал коммит, мне пофиг есть родитель или нет (я могу об этом не знать просто), этот результат должен быть зафиксирован ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:52 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAпропущено... Да Вашими классами нарушен :) С планшета по пунктам лень расписывать. SOLID не выставляет никаких требований к количеству классов. Это общие принципы поддержки\расширения и создания слабосвязаного кода. Думаю на планшете должна открыться хотябы википедия по этой теме. Где Вы прочитали у меня слово количество, а у себя увидели слабосвязный код? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:53 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosпропущено... как блин коммитят, если в конце родитель их откатит, а кто то успел почитать и выдать кому то? Кто успел почитать ? С незакомиченой транзакции ? Серьезно ? бл* а чего они коммитят в промежутке? ты че сам не въезжаешь или начал троллить? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:53 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosу тебя стандартный TransactionScoupe и возможно не распределенная если я сделал коммит, мне пофиг есть родитель или нет (я могу об этом не знать просто), этот результат должен быть зафиксирован Мне кажется по данной тематике у вас знания очень плавают. С Уважением. Попробуйте чтото почитать от сторонних источников. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:54 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopпропущено... Кто успел почитать ? С незакомиченой транзакции ? Серьезно ? бл* а чего они коммитят в промежутке? ты че сам не въезжаешь или начал троллить? Потому что, опять же, на примере конфигурейшин скрина можно открыть вложенный скрин. Чтото там наделать, наклацать, открыть еще 10 дочерних формочек и еще там наклацать. А потом сказать, блин, да мне это не надо. И нажать отмена. А на основной форме не нажать, и вы откатите все промежуточные транзакции в данной точке. И начать снова такуюже вложеную транзакцию. Это обычное стандартное поведение любой формочки в Виндовс с какойто претензией на нормальное проектирование. Вы что, серьезно этого не понимаете, при этом занимаясь какимто анализом данных ? Какже без основ то ... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 20:57 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstopпропущено... SOLID не выставляет никаких требований к количеству классов. Это общие принципы поддержки\расширения и создания слабосвязаного кода. Думаю на планшете должна открыться хотябы википедия по этой теме. Где Вы прочитали у меня слово количество, а у себя увидели слабосвязный код? :) 19061434 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:01 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopПотому что, опять же, на примере конфигурейшин скрина можно открыть вложенный скрин. Чтото там наделать, наклацать, открыть еще 10 дочерних формочек и еще там наклацать. А потом сказать, блин, да мне это не надо. И нажать отмена. А на основной форме не нажать, и вы откатите все промежуточные транзакции в данной точке. И начать снова такуюже вложеную транзакцию. сам такой зачем мне однобокая логика? а если мне надо что бы промежуточный результат закоммичился и стало доступно именно с того момента как я нажал "коммит"? stopЭто обычное стандартное поведение любой формочки в Виндовс с какойто претензией на нормальное проектирование. Вы что, серьезно этого не понимаете, при этом занимаясь какимто анализом данных ? Какже без основ то ... это логика твоих формочек, а не "вложенные транзакции" ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:02 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosа если мне надо что бы промежуточный результат закоммичился и стало доступно именно с того момента как я нажал "коммит"? Уже вроде как ответили. Значит к общей транзакции эта транзакция не имеет вообще никакого отношения. Это одельная транзакция. ViPRosэто логика твоих формочек, а не "вложенные транзакции" Такая логика просто везде. Потому что это шаблон. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:06 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosа если мне надо что бы промежуточный результат закоммичился и стало доступно именно с того момента как я нажал "коммит"? Уже вроде как ответили. Значит к общей транзакции эта транзакция не имеет вообще никакого отношения. Это одельная транзакция. ViPRosэто логика твоих формочек, а не "вложенные транзакции" Такая логика просто везде. Потому что это шаблон. это шаблон SDI попробуй свою фигню в MDI и открой один контекст несколько раз ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:08 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopпропущено... Уже вроде как ответили. Значит к общей транзакции эта транзакция не имеет вообще никакого отношения. Это одельная транзакция. пропущено... Такая логика просто везде. Потому что это шаблон. это шаблон SDI попробуй свою фигню в MDI и открой один контекст несколько раз Уже пробовал 19034661 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:10 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
и че ты уперся? то что ты сделал это один из вариантов (часто используемых) есть и другие варианты (нередко используемых) надо тебе сделать управление этой логикой, что то коммитится без родителя, что то нет и т.д. сам хотя бы тот же TransactionScoupe почитай? прежде чем учить шаблонам и логике фаулер блин еще один отыскался ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:11 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop[Уже пробовал 19034661 ниче ты не пробовал запусти эту байду в нескольких потоках и посмотри что будет ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:13 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosтот же TransactionScoupe почитай? прежде чем учить шаблонам и логике фаулер блин еще один отыскался Когда вы научитесь слово TransactionScope писать без ошибок хотябы со второго раза, тогда почитаю. А так ... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:14 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop[Уже пробовал 19034661 ниче ты не пробовал запусти эту байду в нескольких потоках и посмотри что будет Пользователь в интерфейсе не многоликий кришна с 8 руками. Последовательное выполнение транзакции включая вложенные с возможностью промежуточных откатов - это абсолютно нормальное поведение. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:16 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAпропущено... Где Вы прочитали у меня слово количество, а у себя увидели слабосвязный код? :) 19061434 От того что Вы ошибаетесь, думая, что соблюдаете принципы SOLID, хуже только Вам и тем, кто по незнанию Вам поверит :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:17 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosтот же TransactionScoupe почитай? прежде чем учить шаблонам и логике фаулер блин еще один отыскался Когда вы научитесь слово TransactionScope писать без ошибок хотябы со второго раза, тогда почитаю. А так ... ну, тогда тебе долго придется ждать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:19 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstopпропущено... 19061434 От того что Вы ошибаетесь, думая, что соблюдаете принципы SOLID, хуже только Вам и тем, кто по незнанию Вам поверит :) Будем ошибаться до тех пор, пока ктото не соизволит хотябы попытаться обьяснить там почему же мы ошибаемся. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:19 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosпропущено... ниче ты не пробовал запусти эту байду в нескольких потоках и посмотри что будет Пользователь в интерфейсе не многоликий кришна с 8 руками. Последовательное выполнение транзакции включая вложенные с возможностью промежуточных откатов - это абсолютно нормальное поведение. Пользователь еще и запускает методы, а они свои транзакции просто у тебя сильно упрощенный кейс ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:20 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopпропущено... Когда вы научитесь слово TransactionScope писать без ошибок хотябы со второго раза, тогда почитаю. А так ... ну, тогда тебе долго придется ждать :) Вы мне скажите, у вас что серьезно на дочерних формах если клацнуть ОК то сразу уйдет в базу ? Помойму ВИПрос мягко говоря недопроектировали. Банальные гепы с консистенцией данных могут быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:21 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
и я тебя ни в чем не обвиняю сделал так, значит так тебе надо я просто против использования термина "вложенные транзакции" никто не может откатить закоммиченную транзакцию ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:22 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosпропущено... ну, тогда тебе долго придется ждать :) Вы мне скажите, у вас что серьезно на дочерних формах если клацнуть ОК то сразу уйдет в базу ? Помойму ВИПрос мягко говоря недопроектировали. Банальные гепы с консистенцией данных могут быть. есть настройка на этот счет не знаю что такое "геп", но они будут у тебя, когда одна транзакция будет висеть 30 минут :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:23 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosпропущено... ну, тогда тебе долго придется ждать :) Вы мне скажите, у вас что серьезно на дочерних формах если клацнуть ОК то сразу уйдет в базу ? Помойму ВИПрос мягко говоря недопроектировали. Банальные гепы с консистенцией данных могут быть. форма и транзакция - разные вещи ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:24 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopпропущено... Пользователь в интерфейсе не многоликий кришна с 8 руками. Последовательное выполнение транзакции включая вложенные с возможностью промежуточных откатов - это абсолютно нормальное поведение. Пользователь еще и запускает методы, а они свои транзакции просто у тебя сильно упрощенный кейс О да. Это интересный тоже кейс. Пользователь открыл транзакцию и вызывает какойто метод, даже не подозревая что там зашита еще одна транзакция. В итоге эта транзакция коммитит по вашей же версии в основное хранилище, а у пользователя спустя несколько шагов его основная транзакция слетает по какимто причинам. И о чудо. Часть непонятных данных непонятно как попали в базу на роллбеке. Аплодисменты стоя. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:25 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopпропущено... Вы мне скажите, у вас что серьезно на дочерних формах если клацнуть ОК то сразу уйдет в базу ? Помойму ВИПрос мягко говоря недопроектировали. Банальные гепы с консистенцией данных могут быть. форма и транзакция - разные вещи Какая разница. Опишите процесс похода за Ипотекой. И тоже обнаружите кучу вложенных "транзакций", где на каждом этапе если был отказ от Банка будет "роллбек" промежуточных результатов и начала точно такойже транзакции но уже с другим банком. Это типичное поведение. Иерархия такоеже старое изобретение как колесо. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:27 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAпропущено... От того что Вы ошибаетесь, думая, что соблюдаете принципы SOLID, хуже только Вам и тем, кто по незнанию Вам поверит :) Будем ошибаться до тех пор, пока ктото не соизволит хотябы попытаться обьяснить там почему же мы ошибаемся. Почему Вы уверены, что соблюдены принципы SOLID, когда это не так? ИМХО Вы вместо того, чтобы их толком понять, придерживаетесь своей вольной трактовки. Психотип у Вас такой. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:28 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosпропущено... Пользователь еще и запускает методы, а они свои транзакции просто у тебя сильно упрощенный кейс О да. Это интересный тоже кейс. Пользователь открыл транзакцию и вызывает какойто метод, даже не подозревая что там зашита еще одна транзакция. В итоге эта транзакция коммитит по вашей же версии в основное хранилище, а у пользователя спустя несколько шагов его основная транзакция слетает по какимто причинам. И о чудо. Часть непонятных данных непонятно как попали в базу на роллбеке. Аплодисменты стоя. ну вощем ты начал троллить уже несколько постов назад пользватель воще не знает что такое транзакция потому и есть настройка, надо ли пристроится к имеющейся транзакции или нет т.е. твой beginTran должен иметь параметр - нужна ли обязательно собственная транзакция или надо пристроится к имеющейся уже ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:29 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosпропущено... форма и транзакция - разные вещи Какая разница. Опишите процесс похода за Ипотекой. И тоже обнаружите кучу вложенных "транзакций", где на каждом этапе если был отказ от Банка будет "роллбек" промежуточных результатов и начала точно такойже транзакции но уже с другим банком. Это типичное поведение. Иерархия такоеже старое изобретение как колесо. типичное поведение в том что в Банке останутся все мои данные и все переговоры - эти вещи роллбаку не подлежат, даже если мне в ипотеке откажут ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:30 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopпропущено... О да. Это интересный тоже кейс. Пользователь открыл транзакцию и вызывает какойто метод, даже не подозревая что там зашита еще одна транзакция. В итоге эта транзакция коммитит по вашей же версии в основное хранилище, а у пользователя спустя несколько шагов его основная транзакция слетает по какимто причинам. И о чудо. Часть непонятных данных непонятно как попали в базу на роллбеке. Аплодисменты стоя. ну вощем ты начал троллить уже несколько постов назад пользватель воще не знает что такое транзакция потому и есть настройка, надо ли пристроится к имеющейся транзакции или нет т.е. твой beginTran должен иметь параметр - нужна ли обязательно собственная транзакция или надо пристроится к имеющейся уже Так такая настройка есть. Я же присылал код. BeginTran(TranType, ParentTranID); Если парент передать 0, то это независимая транзакция. Если передать парент ИД то это подчиненная транзакция и ее коммиты будут коммитится только как промежуточные результаты, которые еще должни быть подтверждены на более высоком уровне. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:31 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstopпропущено... Будем ошибаться до тех пор, пока ктото не соизволит хотябы попытаться обьяснить там почему же мы ошибаемся. Почему Вы уверены, что соблюдены принципы SOLID, когда это не так? ИМХО Вы вместо того, чтобы их толком понять, придерживаетесь своей вольной трактовки. Психотип у Вас такой. Я думаю все с точностью до наоборот. Вы не можете обьяснить то чего доказываете прежде всего из-за недопонимания. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:32 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopТак такая настройка есть. Я же присылал код. BeginTran(TranType, ParentTranID); Если парент передать 0, то это независимая транзакция. Если передать парент ИД то это подчиненная транзакция и ее коммиты будут коммитится только как промежуточные результаты, которые еще должни быть подтверждены на более высоком уровне. это уже лучше (код я кончено не смотрел) но подчиненная транзакция - плохо ты заведомо можешь создать дедлок просто надо вернуть ParentTranID и все ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:36 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopпропущено... Какая разница. Опишите процесс похода за Ипотекой. И тоже обнаружите кучу вложенных "транзакций", где на каждом этапе если был отказ от Банка будет "роллбек" промежуточных результатов и начала точно такойже транзакции но уже с другим банком. Это типичное поведение. Иерархия такоеже старое изобретение как колесо. типичное поведение в том что в Банке останутся все мои данные и все переговоры - эти вещи роллбаку не подлежат, даже если мне в ипотеке откажут Вы путаете клиентскую базу и базу данных банка. Банк при обращении с вашей транзакции может сохранять все что угодно, это его лог. А вы должни откатывать свои изменения: забрать от туда документы, забрать деньги если вносили как предоплату. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:39 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosпропущено... типичное поведение в том что в Банке останутся все мои данные и все переговоры - эти вещи роллбаку не подлежат, даже если мне в ипотеке откажут Вы путаете клиентскую базу и базу данных банка. Банк при обращении с вашей транзакции может сохранять все что угодно, это его лог. А вы должни откатывать свои изменения: забрать от туда документы, забрать деньги если вносили как предоплату. не надо упрощать внутри транзакции, которая откачена, был зафиксирован некоторый результат, который не технический лог ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:40 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopТак такая настройка есть. Я же присылал код. BeginTran(TranType, ParentTranID); Если парент передать 0, то это независимая транзакция. Если передать парент ИД то это подчиненная транзакция и ее коммиты будут коммитится только как промежуточные результаты, которые еще должни быть подтверждены на более высоком уровне. это уже лучше (код я кончено не смотрел) но подчиненная транзакция - плохо ты заведомо можешь создать дедлок просто надо вернуть ParentTranID и все Тоесть в данном случае вы уверенно утверждаете что знаете что такое дедлок ? Скажите мне, как дедлок может получится если все подчиненные транзакции работают с одной и тойже версией данных ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:40 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, дедлок может случится всегда ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:41 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAпропущено... Почему Вы уверены, что соблюдены принципы SOLID, когда это не так? ИМХО Вы вместо того, чтобы их толком понять, придерживаетесь своей вольной трактовки. Психотип у Вас такой. Я думаю все с точностью до наоборот. Вы не можете обьяснить то чего доказываете прежде всего из-за недопонимания. Человеку с Вашим психотипом не имеет смысла что-либо доказывать, толку скорее всего не будет :) Да и принципы SOLID подробно расписаны, материала в сети полно, и типичных примеров их нарушения. Хотели бы в них разобраться и следовать им, могли бы и самостоятельно это сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:41 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstopпропущено... Вы путаете клиентскую базу и базу данных банка. Банк при обращении с вашей транзакции может сохранять все что угодно, это его лог. А вы должни откатывать свои изменения: забрать от туда документы, забрать деньги если вносили как предоплату. не надо упрощать внутри транзакции, которая откачена, был зафиксирован некоторый результат, который не технический лог Ну и ? Будет типичная транзакция БегинТран БегинТран - Обращение к банку - Не получилось, откат РоллбекТран Записать в лог неудачное обращение КоммитТран ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:43 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstopпропущено... Я думаю все с точностью до наоборот. Вы не можете обьяснить то чего доказываете прежде всего из-за недопонимания. Человеку с Вашим психотипом не имеет смысла что-либо доказывать, толку скорее всего не будет :) Да и принципы SOLID подробно расписаны, материала в сети полно, и типичных примеров их нарушения. Хотели бы в них разобраться и следовать им, могли бы и самостоятельно это сделать. Тоесть вы решили перебраться на личности оправдывая свои прямо скажем никакие знания в архитектуре ? Ну ОК. А пишу я только о том, что хорошо понимаю и могу разложить по пунктам и очень предметно продискутировать. Это вам конечно на будуйщее, дабы вам не хотелось опять начинать какието сливные треды, которые портят вам репутацию как неплохого специалиста по Монго. Кстате. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:47 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, ладно, я пас, устал уже вопрос конечно интересный, но ты нифига не слушаешь я тебе долбаю все время вот что если прогер написал COMMIT, то он ожидает коммит и больше ничего ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:50 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop, ладно, я пас, устал уже вопрос конечно интересный, но ты нифига не слушаешь я тебе долбаю все время вот что если прогер написал COMMIT, то он ожидает коммит и больше ничего Оно так и работает. И если проггер написал РОЛЛБЕК то он подразумевает что все что внутри благополучно откатится на всех уровнях, кто бы что не начинал. И никому не прийдет в голову коммитить свои промежуточные результаты, если это не было явно прописано как отдельная независимая транзакция. Всё о чем я говорю, значительно упрощает архитектуру и делает более поддерживаемый и логичный код. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:54 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopViPRosstop, ладно, я пас, устал уже вопрос конечно интересный, но ты нифига не слушаешь я тебе долбаю все время вот что если прогер написал COMMIT, то он ожидает коммит и больше ничего Оно так и работает. И если проггер написал РОЛЛБЕК то он подразумевает что все что внутри благополучно откатится на всех уровнях, кто бы что не начинал. И никому не прийдет в голову коммитить свои промежуточные результаты, если это не было явно прописано как отдельная независимая транзакция. Всё о чем я говорю, значительно упрощает архитектуру и делает более поддерживаемый и логичный код. я согласился что это один из часто используемых вариантов но в этом варианте прогер не пишет коммит или роллбак, он передает намерение о коммит там или роллбак но если бы он писал жестко коммит, то его коммит должен сработать (менеджер должен оценить внесенные изменения и если возможно то их оформить как самостоятельная транзакция) или выдать икзепшн ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 21:59 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAпропущено... Человеку с Вашим психотипом не имеет смысла что-либо доказывать, толку скорее всего не будет :) Да и принципы SOLID подробно расписаны, материала в сети полно, и типичных примеров их нарушения. Хотели бы в них разобраться и следовать им, могли бы и самостоятельно это сделать. Тоесть вы решили перебраться на личности оправдывая свои прямо скажем никакие знания в архитектуре ? Ну ОК. А пишу я только о том, что хорошо понимаю и могу разложить по пунктам и очень предметно продискутировать. Это вам конечно на будуйщее, дабы вам не хотелось опять начинать какието сливные треды, которые портят вам репутацию как неплохого специалиста по Монго. Кстате. Вы сами попросили "попытаться обьяснить там почему же мы ошибаемся". Я и написал в чем вижу причину этого. Так что не стоит приписывать мне поведения, что портит мне репутацию. Не красиво :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:00 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, в ВИПРОС есть оба варианта ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:01 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop, в ВИПРОС есть оба варианта И оба варианта написаны вручную, скорей всего, через кеш. Что несколько усложнило поддержку и обьем самого кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:02 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, кончено через кеш но как только коммит, так сразу определенная часть кеша спускается в БД, если это возможно или выдается специкзепшн ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:04 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAВы сами попросили "попытаться обьяснить там почему же мы ошибаемся". Я и написал в чем вижу причину этого. Нету никакой причины. Не выдумывайте. Когда вас просили рассказать в чем же проблема вы сказали что на планшете. Ну на планшете так на планшете. Будете у ноута, напишите, разберем по пунктам. Только не пишите на личные темы. На личные темы мне не интересно общатся. На технические - пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:04 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
и не несколько, а сильно это один из сложных механизмов ВИПРОСа ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:05 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop, кончено через кеш но как только коммит, так сразу определенная часть кеша спускается в БД, если это возможно или выдается специкзепшн Через кеш это плохо. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:06 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, а по другому никак тут и пессимизм и оптимизм с ундо глубоким и смешанный режим ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:06 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosи не несколько, а сильно это один из сложных механизмов ВИПРОСа Используйте Днипру. Днипра быстрее работает и берет на себя менеджирование вложеных транзакций. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:07 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, можно и Днипру пока только МССКЛ и Постгри (и то не до конца), нет желающих оплатить провайдеров к СУБД ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:09 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop, а по другому никак тут и пессимизм и оптимизм с ундо глубоким и смешанный режим На документалке нужно писать. Но обязательно транзакционной вроде Днипры и с джоинами. Все остальное выйдет проще. Здесь и сохранение сложных иерархий. И версии этих иерархий. Срез данных на определенный период. И откат. И тд тд. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:11 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, возможно со временем метаданные переедут в какой нить NuoDB иди Днипро и т.д. я смотрел графовые БД, пока ни на чем не остановился, хотя бы какой то на очень уж хорошем уровне понимания (забыл как называется, но если что могу вспомнить, где то я ее записал) есть какой то потомок мамса некогда изучать в деталях -а вних все и кроется :( ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:15 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
хотя бы = хотя, был ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:16 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop, возможно со временем метаданные переедут в какой нить NuoDB иди Днипро и т.д. я смотрел графовые БД, пока ни на чем не остановился, хотя бы какой то на очень уж хорошем уровне понимания (забыл как называется, но если что могу вспомнить, где то я ее записал) есть какой то потомок мамса некогда изучать в деталях -а вних все и кроется :( Вот здесь есть мануал . Если что будет не понятно - пишите. Сам буду крупный проект на этой базе стартовать, с конструкторами форм, вебсервисами, аналитикой и тд. Буду использовать эту базу, с этой быстрее кодить надежный и быстрый код. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:19 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAВы сами попросили "попытаться обьяснить там почему же мы ошибаемся". Я и написал в чем вижу причину этого. Нету никакой причины. Не выдумывайте. Когда вас просили рассказать в чем же проблема вы сказали что на планшете. Ну на планшете так на планшете. Будете у ноута, напишите, разберем по пунктам. Только не пишите на личные темы. На личные темы мне не интересно общатся. На технические - пожалуйста. Хорошо, буду у компа - распишу по пунктам, где у Вас что в коде не соблюдается. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:20 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, я обязательно посмотрю как только бог пошлет время а коды все тырю, уже чуть ли терабайт всяких БД и тд. :) - жизни не хватит изучить , эх мало дает бог жизни этой бл* ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:23 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ViPRosstop, я обязательно посмотрю как только бог пошлет время а коды все тырю, уже чуть ли терабайт всяких БД и тд. :) - жизни не хватит изучить , эх мало дает бог жизни этой бл* Ок, я на связи. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:28 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstopпропущено... Нету никакой причины. Не выдумывайте. Когда вас просили рассказать в чем же проблема вы сказали что на планшете. Ну на планшете так на планшете. Будете у ноута, напишите, разберем по пунктам. Только не пишите на личные темы. На личные темы мне не интересно общатся. На технические - пожалуйста. Хорошо, буду у компа - распишу по пунктам, где у Вас что в коде не соблюдается. Ок. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 22:29 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
VIPRos, уточнение по транзакциям. Те вложенные транзакции, которые не откатываются при роллбэке корневой, называются автономными. Фишка Oracle. Кстати, в MS SQL и PostreeSql их нет, поэтому странно, что вы, работая с этими СУБД, настаиваете на своей трактовке вложенных транзакций. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 23:07 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Arm79VIPRos, уточнение по транзакциям. Те вложенные транзакции, которые не откатываются при роллбэке корневой, называются автономными. Фишка Oracle. Кстати, в MS SQL и PostreeSql их нет, поэтому странно, что вы, работая с этими СУБД, настаиваете на своей трактовке вложенных транзакций. ну, то что я работаю в мсскл и т.д. не обязывает меня понимать так как я понимаю "вложенные" транзакции "автономные" и так есть автономные - т.е. независимые. Никакого отношения по моему это не имеет к аспекту "вложенности". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 23:29 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
ну, если они автономны в контексте обрамляющей транзакции, то да - они "вложенные" в моем понимании т.е. они могут сами заврешится по своему усмотрению или делегировать завершение обрамляющей с указанием о типе завершения - коммит или ролбак своего контекста по возможности ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 23:33 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Я пишу не для мсскл или оракл ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2016, 23:34 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Вложенной называется транзакция, коммит которой фиксирует операции транзакции только при фиксации обрамляющей транзакции и которая способна откатывать изменения только те, что она совершила от времени старта вложенной транзакции до времени отката. Это достаточно очевидно любому программисту, знакомому с понятием стек, рекурсия и вложенность. Не понимаю, к чему демагогия про автономность и прочее? Реализация вложенных транзакций обеспечивает повторное использование кода с операторами управления транзакциями без необходимости писать избыточные ифы. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2016, 09:47 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
И то, что вложенных транзакций нет, это не упрощает поддержку и не делает код более понятным. Это поддержку усложняет и делает код более сложным (цикломатическая сложность кода возрастает, следовательно возрастает сложность тестированич). Это просто техническое ограничение СУБД. Ну нет там транзакционного стэка, видимо сложно его делать, потому и функционала такого нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2016, 09:57 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
У оракла и ms sql server есть сейвпойнты, с их помощью "вложенные транзакции" и реализуются ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2016, 10:33 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, прежде чем расписывать то, где и как Ваш код нарушает принципы SOLID, хотел бы узнать описание следующих параметров: Код: c# 1. 2. 3.
или дайте ссылку на документацию к методам DB.GetWhere и DB.GetPartDoc<T> . ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 09:42 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstop, прежде чем расписывать то, где и как Ваш код нарушает принципы SOLID, хотел бы узнать описание следующих параметров: Код: c# 1. 2. 3.
или дайте ссылку на документацию к методам DB.GetWhere и DB.GetPartDoc<T> . 19067466 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 11:53 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAstop, прежде чем расписывать то, где и как Ваш код нарушает принципы SOLID, хотел бы узнать описание следующих параметров: Код: c# 1. 2. 3.
или дайте ссылку на документацию к методам DB.GetWhere и DB.GetPartDoc<T> . 19067466 Документация конечно не лучшая. К методу GetWhere конечно есть скудное описание: find documents by filter, - и примеры из которых в принципе понятно. А вот GetPartDoc<T> не имеет ни описания, ни примеров, где он принимает 4, а не 3 параметра. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 14:51 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Про UpdPartDoc<T> с 4-мя парамтрами кстати тоже ничего нет в документации. Но я так понял, что это как хранится в БД: Код: c# 1.
а это как отображается на свойства объекта: Код: c# 1.
верно? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 15:08 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstopпропущено... 19067466 Документация конечно не лучшая. К методу GetWhere конечно есть скудное описание: find documents by filter, - и примеры из которых в принципе понятно. А вот GetPartDoc<T> не имеет ни описания, ни примеров, где он принимает 4, а не 3 параметра. Спасибо за замечание. Я добавлю. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 15:24 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAПро UpdPartDoc<T> с 4-мя парамтрами кстати тоже ничего нет в документации. Но я так понял, что это как хранится в БД: Код: c# 1.
а это как отображается на свойства объекта: Код: c# 1.
верно? Всё верно. Код настолько простой что в нем можно разобраться даже без документации =) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 15:24 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopskyANAПро UpdPartDoc<T> с 4-мя парамтрами кстати тоже ничего нет в документации. Но я так понял, что это как хранится в БД: Код: c# 1.
а это как отображается на свойства объекта: Код: c# 1.
верно? Всё верно. Код настолько простой что в нем можно разобраться даже без документации =) Не льстите себе :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2016, 16:58 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Bubba KushВложенной называется транзакция, коммит которой фиксирует операции транзакции только при фиксации обрамляющей транзакции и которая способна откатывать изменения только те, что она совершила от времени старта вложенной транзакции до времени отката. Это достаточно очевидно любому программисту, знакомому с понятием стек, рекурсия и вложенность. Не понимаю, к чему демагогия про автономность и прочее? Реализация вложенных транзакций обеспечивает повторное использование кода с операторами управления транзакциями без необходимости писать избыточные ифы. +1, правильный и логичный путь stopИ если проггер написал РОЛЛБЕК то он подразумевает что все что внутри благополучно откатится на всех уровнях, это не гуд, только текущую должно и COMMIT не должен влиять на обрамляющую транзакцию, он просто говорит, что "атом" транзакции выполнился и может быть отменён вышележащим РОЛЛБЕКом если уж хочется глобально, то придумайте какой ни будь abort с месагой, который будет РОЛЛБЕКи делать вверх по иерархии ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2016, 06:45 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Роллбек обрамляющей откатывает все вложенные в нее транзакции, даже если они коммитились. Вверх по уровням роллбек не распространяется. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2016, 09:46 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stopРоллбек обрамляющей откатывает все вложенные в нее транзакции, даже если они коммитились. Вверх по уровням роллбек не распространяется. ну да не так выразился? stopИ если проггер написал РОЛЛБЕК то он подразумевает что все что внутри благополучно откатится на всех уровнях, ... |
|||
:
Нравится:
Не нравится:
|
|||
20.04.2016, 19:01 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Это треш. Тролли в угаре. Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2016, 23:38 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Опять якось невдобно получилось. Еще один стандартный бенчмарк для Монго. 50 тыс. документов. В каждом массив на 100 целых чисел. Цель запроса - пробежаться по всем документам и добавить 101 целое число в массив каждого документа, короче говоря операция $PUSH для Монго и Insert для Днипры. Запрос вообще самый самый базовый ниразу не подбирался. Например если вы на Монге будете делать блог, то каждая статья также будет содержать массив с комментариями внизу, а пост комментария добавление этого самого комментария в конец этого массива. Сам запрос на апдейт этого дела ( незабываем обращать внимание на синтаксис ) Монго драйвер Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Днипро драйвер Код: c# 1. 2. 3. 4. 5. 6.
Результаты ожидаемы. Днипра почти в 20ть раз быстрее . (59 миллисекунд против 1 секунды у Монго). При этом Днипра - честная версионная транзакция, честный подтвержденный коммит на диск, все элементы в массиве проиндексированы автоматически. Монга - отложеная запись, без транзакций. Дополнительно еще нужно создавать индексы. Выводы: Архитектура Днипры построена так, что не вызывает при добавлении нового элемента в массив документа его перезапись. Монга, Постгри, Кеш и вся эта братия перезаписывает. При бОльшем количестве элементов, отставание будет только усугублятся. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.05.2016, 11:01 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
stop, что за поле Val, по которому делается выборка? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.05.2016, 09:13 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAstop, что за поле Val, по которому делается выборка? Это мембер класса Код: c# 1. 2. 3. 4. 5.
Дальше создается 50 тыс обьектов этого класса, где Val = 1 И дальше этот запрос. "Добавить в массив Arr один элемент где Val = 1" ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2016, 11:33 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Ясно.. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.05.2016, 13:04 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Когда перед тобой стоит задача быстро написать понятный и хорошо поддерживаемый проект, всегда стоит задача выбора СУБД. Бекенд в своей классической форме подразумевает создать модель данных и слой бизнесс логики работы с этими данными, который на начальном этапе скорей всего сводится к CRUD (Create Read Update Delete) операциям. В данном случае выбор No Sql решения на базе украинской СУБД Днiпро был достаточно и необычен и рискован. Особенно если ты отлаживаешь проект и базу данных одновременно :) Но, чем больше ошибок будет выловлено тем лучше, на чем то же нужно тестировать субд. Поэтому я начал проект, который уже при первом приближении декомпозировался в 30+ «таблиц» и 50+ «хранимок» Суть самого проекта: Чтото вроде социальной сети с элементами конструкторов форм, визардами, лайками, приватными чатами, оповещениями всех обо всем, системой комментариев, лентами сообщений и тд. Впечетления. Все оказалось не так плохо. Весь Data Access Layer который отвечает за коммуникацию с базой данных представлен здесь https://github.com/Bazist/DniproExamples/blob/master/Booben/Booben/Controllers/DAL.cs Каждая «хранимка» занимает всего несколько строк кода и по сути своей шаблонна. Типичный метод GetWhere(шаблон части джисона).Select/Update/Insert/Delete(шаблон части джисона). Есть более сложные хранимки, вида: «Вставить обьект Event всем подписчикам этой страницы пользователя.» (AddCommentToPage процедура в исходнике выше, как пример) Благодаря статической типизации, если модель меняется, то ошибки отлавливаются на этапе компиляции. Все сами по себе методы шаблонны, можно набросать 3-5 «хранимок» и не сделать ниодной ошибки, ошибится достаточно тяжело. Сама модель данных представляет собой крупную иерархию класса User. Уровень вложенности достигает до 6-7 сущностей, что в реляционной модели означает 5-6 джоинов. Вся модель представлена вот здесь https://github.com/Bazist/DniproExamples/tree/master/Booben/Booben/Models После того как у нас есть модель данных в БД и есть уровень работы с этими данными, остается на эту модель только натянуть VIews. Пресловутый MVC паттерн. Но тут все настолько просто, что это даже больше к дизайну чем к логике. PS: По быстродействию и архитектуре самой СУБД уже было обсуждение Сейчас впечетления такие, что программу из 90х запустили на мощном компьютере ) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2016, 19:16 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Баз привет. Выдалась минутка. Чо как? Есть updates по ветке Java-клиента? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2016, 12:39 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
maytonБаз привет. Выдалась минутка. Чо как? Все по страому. В отпуск пока что собираюсь. maytonЕсть updates по ветке Java-клиента? Пока нет, используется старый Джава драйвер. Написать ОРМ драйвер под Джаву также как это сделано под Дот Нет пока только в планах. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2016, 11:34 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Up какие новости? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2016, 00:22 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
maytonUp какие новости? Выложил в сеть сердце Стебелька. Все еще думаете что с Монго тесты както подтасованы ? Шах и мат господа писимисты. Посмотрите тогда вот сюда, на каком движке собрана СУБД Днiпро slavik@slavik:~$ /home/slavik/Documents/HArray/HArray/bin/Release/HArrayMono === HArrayInt VS std::map<int,int> testing === Insert/Search 1000000 SEQUENCE keys (4 bytes each) ... HArrayInt => Insert: 14 msec, Search: 3 msec. std::map => Insert: 282 msec, Search: 166 msec. Insert/Search 3000000 SEQUENCE keys (4 bytes each) ... HArrayInt => Insert: 32 msec, Search: 10 msec. std::map => Insert: 1076 msec, Search: 562 msec. Insert/Search 5000000 SEQUENCE keys (4 bytes each) ... HArrayInt => Insert: 54 msec, Search: 16 msec. std::map => Insert: 2107 msec, Search: 1066 msec. Insert/Search 7000000 SEQUENCE keys (4 bytes each) ... HArrayInt => Insert: 77 msec, Search: 22 msec. std::map => Insert: 3014 msec, Search: 1505 msec. Insert/Search 9000000 SEQUENCE keys (4 bytes each) ... HArrayInt => Insert: 95 msec, Search: 28 msec. std::map => Insert: 4021 msec, Search: 2017 msec. Insert/Search 1000000 RANDOM keys (4 bytes each) ... HArrayInt => Insert: 15 msec, Search: 15 msec. std::map => Insert: 692 msec, Search: 619 msec. Insert/Search 3000000 RANDOM keys (4 bytes each) ... HArrayInt => Insert: 47 msec, Search: 47 msec. std::map => Insert: 2653 msec, Search: 2430 msec. Insert/Search 5000000 RANDOM keys (4 bytes each) ... HArrayInt => Insert: 84 msec, Search: 84 msec. std::map => Insert: 4908 msec, Search: 4445 msec. Insert/Search 7000000 RANDOM keys (4 bytes each) ... HArrayInt => Insert: 123 msec, Search: 126 msec. std::map => Insert: 7253 msec, Search: 6700 msec. Insert/Search 9000000 RANDOM keys (4 bytes each) ... HArrayInt => Insert: 167 msec, Search: 170 msec. std::map => Insert: 9755 msec, Search: 9066 msec. Insert/Search 1000000 PERIOD keys (4 bytes each) ... HArrayInt => Insert: 14 msec, Search: 4 msec. std::map => Insert: 276 msec, Search: 165 msec. Insert/Search 3000000 PERIOD keys (4 bytes each) ... HArrayInt => Insert: 43 msec, Search: 9 msec. std::map => Insert: 989 msec, Search: 551 msec. Insert/Search 5000000 PERIOD keys (4 bytes each) ... HArrayInt => Insert: 70 msec, Search: 16 msec. std::map => Insert: 1931 msec, Search: 1007 msec. Insert/Search 7000000 PERIOD keys (4 bytes each) ... HArrayInt => Insert: 99 msec, Search: 22 msec. std::map => Insert: 2929 msec, Search: 1503 msec. Insert/Search 9000000 PERIOD keys (4 bytes each) ... HArrayInt => Insert: 126 msec, Search: 30 msec. std::map => Insert: 3990 msec, Search: 2005 msec. === HArrayVarRAM VS std::map<BinKey,int> testing === Insert/Search 1000000 SEQUENCE keys (16 bytes each) ... HArrayVarRAM => Insert: 143 msec, Search: 221 msec. std::map => Insert: 776 msec, Search: 820 msec. Insert/Search 3000000 SEQUENCE keys (16 bytes each) ... HArrayVarRAM => Insert: 590 msec, Search: 846 msec. std::map => Insert: 2986 msec, Search: 2999 msec. Insert/Search 5000000 SEQUENCE keys (16 bytes each) ... HArrayVarRAM => Insert: 1094 msec, Search: 1449 msec. std::map => Insert: 5273 msec, Search: 5369 msec. Insert/Search 7000000 SEQUENCE keys (16 bytes each) ... HArrayVarRAM => Insert: 1588 msec, Search: 2114 msec. std::map => Insert: 7894 msec, Search: 8856 msec. Insert/Search 9000000 SEQUENCE keys (16 bytes each) ... HArrayVarRAM => Insert: 2225 msec, Search: 2830 msec. std::map => Insert: 10583 msec, Search: 11053 msec. Insert/Search 1000000 RANDOM keys (16 bytes each) ... HArrayVarRAM => Insert: 70 msec, Search: 89 msec. std::map => Insert: 709 msec, Search: 710 msec. Insert/Search 3000000 RANDOM keys (16 bytes each) ... HArrayVarRAM => Insert: 185 msec, Search: 221 msec. std::map => Insert: 2683 msec, Search: 2705 msec. Insert/Search 5000000 RANDOM keys (16 bytes each) ... HArrayVarRAM => Insert: 297 msec, Search: 391 msec. std::map => Insert: 4933 msec, Search: 5025 msec. Insert/Search 7000000 RANDOM keys (16 bytes each) ... HArrayVarRAM => Insert: 607 msec, Search: 653 msec. std::map => Insert: 7448 msec, Search: 7504 msec. Insert/Search 9000000 RANDOM keys (16 bytes each) ... HArrayVarRAM => Insert: 765 msec, Search: 887 msec. std::map => Insert: 10028 msec, Search: 10331 msec. Insert/Search 1000000 PERIOD keys (16 bytes each) ... HArrayVarRAM => Insert: 112 msec, Search: 167 msec. std::map => Insert: 714 msec, Search: 711 msec. Insert/Search 3000000 PERIOD keys (16 bytes each) ... HArrayVarRAM => Insert: 412 msec, Search: 563 msec. std::map => Insert: 2681 msec, Search: 2703 msec. Insert/Search 5000000 PERIOD keys (16 bytes each) ... HArrayVarRAM => Insert: 694 msec, Search: 984 msec. std::map => Insert: 4961 msec, Search: 4999 msec. Insert/Search 7000000 PERIOD keys (16 bytes each) ... HArrayVarRAM => Insert: 1277 msec, Search: 1444 msec. std::map => Insert: 7328 msec, Search: 7537 msec. Insert/Search 9000000 PERIOD keys (16 bytes each) ... HArrayVarRAM => Insert: 1606 msec, Search: 1889 msec. std::map => Insert: 9901 msec, Search: 10218 msec. === HArrayVarRAM VS std::map<StrKey,int> testing === Insert/Search 1000000 SIMILAR keys (64 bytes each) ... HArrayVarRAM => Insert: 261 msec, Search: 276 msec. std::map => Insert: 1229 msec, Search: 1161 msec. Insert/Search 2000000 SIMILAR keys (64 bytes each) ... HArrayVarRAM => Insert: 592 msec, Search: 682 msec. std::map => Insert: 2792 msec, Search: 2577 msec. Insert/Search 3000000 SIMILAR keys (64 bytes each) ... HArrayVarRAM => Insert: 1022 msec, Search: 1173 msec. std::map => Insert: 4413 msec, Search: 4362 msec. Insert/Search 1000000 RANDOM keys (64 bytes each) ... HArrayVarRAM => Insert: 269 msec, Search: 272 msec. std::map => Insert: 984 msec, Search: 889 msec. Insert/Search 2000000 RANDOM keys (64 bytes each) ... HArrayVarRAM => Insert: 640 msec, Search: 651 msec. std::map => Insert: 2164 msec, Search: 2007 msec. Insert/Search 3000000 RANDOM keys (64 bytes each) ... HArrayVarRAM => Insert: 1053 msec, Search: 1072 msec. std::map => Insert: 3570 msec, Search: 3271 msec. Больше о проекте https://github.com/Bazist/HArray ... |
|||
:
Нравится:
Не нравится:
|
|||
18.11.2016, 21:34 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
HArrayВсе еще думаете...Вот польстил себе так польстил :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2016, 09:07 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Но ведь правда. Эта СУБД единственная кто начала с переработки базовых принципов поисковых алгоритмов. Она единственная кто основана на супербыстром Trie, а не на какихто попсовых модификациях бинарных деревьев или хештаблицах. Это почти революция в СУБД строении. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2016, 12:42 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 16:30 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
А причем тут Равен ? В данном случае речь о низкоуровневых Key\Value контейнерах. Их сравниваем. Что касается Равен будет конечно медленее работать, чуда не произойдет. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 18:59 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Всё равно база хранящая информацию в регистрах процессора всех порвёт по быстродействию. Миллиарды транзакций в секунду - легко! Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 19:22 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
HArrayА причем тут Равен ? В данном случае речь о низкоуровневых Key\Value контейнерах. Их сравниваем. Тогда где сравнение с Couchbase и Redis? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 19:27 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovВсё равно база хранящая информацию в регистрах процессора всех порвёт по быстродействию. Миллиарды транзакций в секунду - легко! Регистров в процессоре всего несколько, это будет база которая будет хранить всего несколько значений. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 20:10 |
|
В рамках импортозамещения предлагаю обсудить новую базу (Днипра)
|
|||
---|---|---|---|
#18+
skyANAHArrayА причем тут Равен ? В данном случае речь о низкоуровневых Key\Value контейнерах. Их сравниваем. Тогда где сравнение с Couchbase и Redis? Если их сравнивать с DniproDB то у них значительно более куцый функционал (нет транзакций, не работают с джисон и тд). Если их сравнивать с HArray то последний это просто очень удачная реализация Trie, которую сравнивают с разными контейнерами. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2016, 20:14 |
|
|
start [/forum/topic.php?all=1&fid=35&tid=1552251]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
136ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
249ms |
get tp. blocked users: |
1ms |
others: | 233ms |
total: | 666ms |
0 / 0 |