powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Применение MongoDB для АСКУЭ
25 сообщений из 50, страница 1 из 2
Применение MongoDB для АСКУЭ
    #37847794
LowCoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос я бы поставил так – сейчас разрабатывается сабжевая система, а вернее биллинговая надстройка над ней и вопрос такой – можно ли … или даже так – почему не стоит использовать вместо предполагаемого Оракла MongoDB и чем может это грозить. С nosql базами я еще не работал но очень интересно. Теорию я покопал но меня интерсует мнения практиков.
Почему я спрашиваю – послушал тут как то Радио-Т там один из ведущих работает в какой то финансовой американской конторе, весьма немелкой, которая занимается по сути агрегацией биржевых данных и у них объем данных около 4 миллиардов!!! записей в день – это не просто много, а чудовищно много. И он как раз очень нахваливал монго. Правда насколько я понял они используют монго в основном как хранилище данных за счет быстрого добавления данных а биллинг все таки немного не то – есть там некая транзакционность и некий анализ, но не очень то сложный – прибавить/отнять/разделить - никаких интригалов, приближенных вычислений - вобщем никакой нечоткой логики :( Все как в обычной учетной системе – клиенты, счета ну и так далее. Другой ведущий Радио Т - начальник разработки по в яндексе, судя по разговору человек с тонким пониманием, и тоже монго весьма нахваливал. Вот я бы и хотел, что бы меня отговорили, а то ведь систему выпускать рано или поздно в продакшн со всеми втекающими и вытекающими - вот и хочется вопрос с монгой закрыть раз и навсегда и перейти на темную сторону т.е. отдаться уже Корпорации Зла :) Но мятежный дух и любопытство возобладает таки и хочется посмотреть что еще. Короче крайне интересно мнение коллективного разума по сабжу. Если серьезно хотелось бы ясно осозновать сферы применимости MongoDB в особенности по сравнению с SQL базами - Oracle, MSSQL, PostgreSQL ...
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37847828
thehil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вы же сами на свой вопрос и ответили: если вы готовы принять как данность вероятность потери данных, в виду нетранзакционности, асинхронности записи, и прочего чем пожертвовали ради скорости - то берите и используйте. Если сами данные вам важнее агрегатов, то забудьте. Где можно использовать можете почитать здесь: http://www.mongodb.org/display/DOCS/Use+Cases
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37847946
LowCoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thehil,

О! почти первая же ссылка в точку. Как то про use cases я не нашел с перевого раза инфу у них на сайте. Мне непонятно вот только эта фраза:

"Less Well Suited
Systems with a heavy emphasis on complex transactions such as banking systems and accounting. These systems typically require multi-object transactions, which MongoDB doesn't support. It's worth noting that, unlike many "NoSQL" solutions, MongoDB does support atomic operations on single documents. As documents can be rich entities; for many use cases, this is sufficient. "

т.е система обеспечивает атомарность операций над протсым документом - а вот про rich entities я не совсем допонял.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848007
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чего не ясного то ? не умеет оно транзакий, совсем. соответсвенно и консистентный отчет снять не сможет. как-то я слабо представляю такую субд на бирже. она же элементарно фондовый индекс не сможет посчитать
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848038
LowCoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совем так - да транзакций оно не умеет .. но поддерживает атомарность операций что те же шарики но только в профиль. Там в доках говорится о простых документах но соль в том (пока мне непонятно) что документы могуть не совем простыми а вложенными что ли. Вот это момент мне непонятен пока.
Сейчас как раз смортю видео по юз кейсам - ведь применяют дял электронной коммерции скажем. Интересно. А насчет биржевых данных то я же писал что насколько я понимаю там используется как хранилище данных и как раз там стоял вопрос в скорости ибо объем данных немыслимый.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848168
thehil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LowCoder,

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

Что касается бирж - подозреваю что там оно используется только для аналитики. Ну списали деньги в одном месте, а во втором чуть позже прибавили, ну не за одну транзакцию это всё прошло, брокерам важен агрегирующий график на выходе.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848179
Andrey Sribnyak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848191
Alexander Ryndin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LowCoderНе совем так - да транзакций оно не умеет .. но поддерживает атомарность операций что те же шарики но только в профиль. Там в доках говорится о простых документах но соль в том (пока мне непонятно) что документы могуть не совем простыми а вложенными что ли. Вот это момент мне непонятен пока.
Сейчас как раз смортю видео по юз кейсам - ведь применяют дял электронной коммерции скажем. Интересно. А насчет биржевых данных то я же писал что насколько я понимаю там используется как хранилище данных и как раз там стоял вопрос в скорости ибо объем данных немыслимый.1) Не хранилище данных, а кладбище. Вряд ли они с ними делают еще что-то кроме как накапливают.
2) Объем данных (4 млрд. в сутки) - это относительно немного. Всего 100.000 вставок в секунду. С такими объемами неплохо справляются решения Complex Event Processing. Вот только они не устраивают мусорку данных, а тут же обрабатывают их и складывают в отфильтрованном, агрегированном и дедуплицированном виде. Вот пример для биржи. Вот для телекоммуникаций.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848193
thehil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andrey Sribnyak,

Какая-то жёлтая статья. Почти всё высосано из пальца. В моей компании монго прекрасно используется на десятках проектов. Просто нужно чётко понимать сферу применения и знать подводные камни.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848262
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> чего не ясного то ? не умеет оно транзакий, совсем. соответсвенно и
> консистентный отчет снять не сможет. как-то я слабо представляю такую субд на
> бирже. она же элементарно фондовый индекс не сможет посчитать

Почему ? после торгов, когда данные уже не меняются -- почему бы и не посчитать?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848271
LowCoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Название сайта тоже хорошее - жопикс :) Хотя некоторые аргументы да настораживает и желательно их обдумать или проверить если предполагается выпускат приложение в серьезный продакшн.
Совершенно согласен что обеспечить атомарность для сложных объектов будет затруднительно и это killing аргумент для моего случая... Спасибо за ответы.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848275
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Не совем так - да транзакций оно не умеет .. но поддерживает атомарность
> операций что те же шарики но только в профиль.

Это всё и сложно, и по-тупому просто. ACID -транзакции таковы, что из них
ни одну букву убрать нельзя -- сразу же всё остальное разваливается.
Т.е. если ты выкинешь одну из фич, остальные будут также невозможны.
И это даёт очень простое и чёткое понимание транзакции. Поэтому они так и
популярны в СУБД. Другое дело -- транзакций разных моделей достаточно много,
так что если это не ACID -тразнакции (с которыми всё понятно), то нужно
очень тщательно изучать, что имеется в виду под транзакциями в данном конкретном
случае. Так что "умеет" или "не умеет" тут мало.

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

Тут тоже большая проблема -- когда речь идёт о РСУБД, там ясна модель данных,
на которых транзакции работают. Тут же всё туманно, так что тебе придётся
изучать ещё и эти все определения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848344
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivПочему ? после торгов, когда данные уже не меняются -- почему бы и не посчитать?

а смысл в индексе после торгов ? подозреваю, что всяким роботам эти индексы нужны в реалтайме и не с точностью +/- лапоть, а абсолютно точные. они же по ним принимают решения продавать/покупать.
вообще я так понимаю можно просто открыть спецификацию TPC-E, где эмулируеться работа брокерской канторы и поглядеть какие там транзакции. нехилые там транзакции по надцати таблицам, MnogoDB там явно в пролете.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848380
LowCoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Yo!

ну не так все сурово - данные легли (пусть даже в реалтайме) индекс пересчитался. В торговых роботах как правило пересчитывается все на лету до отправки в бд, так как очень критичны временные задержки - данные уже потом используются для анализа и отчетов. А отчетные системы используют (в большинстве случаев) по итогам торгов. А вот системы которые пересчитывают в риал тайме позиции игроков .. это да. Тут если и делать на монге нужно ОЧЕНЬ сильно поэксерементировать. Но вообще нафиг - своя рубашка лучше сидит когда ты живой :)
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848390
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LowCoderсейчас разрабатывается сабжевая система
Дык - Ёлы! - не мелочитесь и разработайте её так, чтобы она могла работать как с Оракулом,
так и с Монго. Не справится одна СУБД - просто переключитесь на другую.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848412
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovДык - Ёлы! - не мелочитесь и разработайте её так, чтобы она могла работать как с Оракулом,
так и с Монго. Не справится одна СУБД - просто переключитесь на другую.

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

2LowCode

а поглядите на описание TPC-E, там на 14 странице краткое описание транзакций. насколько похоже на вашу задачу ?
ftp://ftp.software.ibm.com/eserver/benchmarks/wp_TPC-E_Benchmark_022307.pdf

мне так, просто интересно.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848503
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!класика жанра. прикладуха одинаково работает с любой субд ... одинакового
херово.
Ага, классическая отмазка криворуких разработчиков. Ты уверен, что ТС из таких? Тогда,
конечно, его спасёт только Оракул.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848515
LowCoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я посомотрел - как раз очень близко к модели брокерской компании. Но биржевые вещи имеют свою специфику - я как раз разрабатывал такие. Там очень критичны временные задержки в особых местах. Прям реально борьба за миллисекунды. Пример - работал в крупном банке западном - там трейдеры жаловались что экран недосточно быстро прорисовывает котировки - пришлось им приладу переписать вместо си шарпа на правоверном с++ и стало хорошо. Это редкий случай но тем не менее. Там кстати оракл стоял с каким то астрономическим количеством таблиц и это все как то даже работало :)
В моем случае нет таких хайлоадов - но критична надежность, досупность.
Начальство кстати как увидело стоимость Оракла (энтерпрайз эдишн 47 тыщ не рублей на ОДИН проц вернее даже на одно ядро) ... стало сильно думать так что возможно будет таки Постгресс. И я не думаю что постгресс будет сильно хуже или вообще хуже.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848561
thehil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
При всём уважении, вы пишете полнейший бред.
Чтобы приложение одинаково работало с объектно-ориентированной и реляционной базой?! Никогда в жизни, если только это не приложение уровня Справочник телефонов. В реальности практически всегда возникают проблемы, когда разрабатывается более менее серъёзное бизнес-приложение, которое одинаково работает с двумя даже реляционными базами. А NoSQL и РСУБД это совершенно разные подходы, практически не имеющие точек соприкосновения. Если у вас есть реальный опыт - welcome, а бросаться пустыми фразами о криворукости не стоит.

LowCoder,
Возможность перехода на PostgreSQL конечно стоит рассмотреть, но опять же нужно учитывать специфику: предполагаемые объёмы базы, количество запросов в секунду, характер запросов и прочее. Постргес стоит рассматривать как сильно урезанную версию Оракла, не обеспечивающаю всего того за что Оракл просит десятки тысяч долларов. Для больших нагрузок придётся горизонтально масштабировать Постгрес (например с помощью PL/Proxy + PgBouncer), а это, поверьте, занятие тоже не из лёгких.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848569
thehil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LowCoder,

А high availability классически достигается репликацией на другие сервера, распределением нагрузки между ними, и переключением между ними в случае сбоя.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848587
LowCoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решение для любой базы не очень хорошее имхо. Как показывает моя практика (лично моя) очень тяжело если вообще возможно оторватся от специфики бд. Полностью без триггеров вьюешек сторед процедур ... Как показывает пример PDO (для PHP) в случае того же Оракла там совсем все нерадужно.
Кроме того закладка на любую бд сильно усложняет/удлиняет разработку.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848597
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LowCoderНачальство кстати как увидело стоимость Оракла (энтерпрайз эдишн 47 тыщ не рублей на ОДИН проц вернее даже на одно ядро) ... стало сильно думать так что возможно будет таки Постгресс. И я не думаю что постгресс будет сильно хуже или вообще хуже.

у вас весьма неординарное начальство, раз рассматривает два столь крайних варианта
если вы на полном серьезе рассматриваете постгрес значит вы запросто влазите в масштабы и функционал оракла SE1, даже не SE. не могу себе представить под каким соусом мог бы выйграть постгрес у SE1 если основное требование надежность и доступность данных.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848603
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thehilА high availability классически достигается репликацией на другие сервера, распределением нагрузки между ними, и переключением между ними в случае сбоя.

Спасибо, КО!
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848636
LowCoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2thehil - да нет я писал что там нет такого хайлоада как в биржевых системах -нет там тысяч запросов в секунду. Клиенты заходят видят свой биллинг откуда то тянутся данные но все без экстрима. Кстати даже на биржевых системах - был проект на московских биржах через квик клиент - максимум что нам удавалось выжать около 10 000 записей в секунду с ММВБ (а вообще сильно ниже нагрузка) - MySQL 5.5 справлялся на раз, ну даже не чихнув. Вообще не одного сбоя не было со стороны БД за год. С MySQL сложности начинаются когда в таблицах больше 7-10 миллионов записей и много инсертов и много индексов. Но кеширует запросы весьма хорошо.
Насчет горизонтального масштабирования я думаю это как раз по любому будет нужно что с Ораклом что без - система должна быть высокодоступной - на начало маленький кластер по любому. так что горизонтальное масштабировнаие оно как бы закладывается изначально. Вопрос в цене уж больно Оракл дорогой.
...
Рейтинг: 0 / 0
Применение MongoDB для АСКУЭ
    #37848650
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 06/21/2012 02:43 PM, LowCoder wrote:
> А вот системы которые пересчитывают в риал тайме позиции игроков

На сколько я знаю, в реалтайме они НЕ пересчитываются.
После торгов только.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 50, страница 1 из 2
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Применение MongoDB для АСКУЭ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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