Który NoSQL DB jest najlepiej dopasowany do systemów finansowych OLTP?

Projektujemy system finansowy OLTP. powinien być w stanie obsługiwać 10.000 transakcji na sekundę i mieć funkcje raportowania.

Doszliśmy więc do pomysłu użycia:

  • a NoSQL DB jako nasz główny magazyn
  • W przeciwieństwie do innych serwerów bazujących na serwerach bazujących na serwerach bazujących na serwerach bazujących na serwerach bazujących na serwerach bazujących na serwerach bazujących na serwerach bazujących na serwerach bazujących na serwerach bazujących na serwerach bazujących na serwerach bazujących na serwerach.]}

Rozważamy MongoDB i Riak do pracy w NoSQL. czytaliśmy, że Riak skaluje się bardziej płynnie niż MongoDB. I chcielibyśmy posłuchaj swojej opinii.

  • którego NoSQL DB użyłbyś do System finansowy OLTP?
  • Jak było twoje doświadczenie w skalowaniu MongoDB / Riak?
Author: Community, 2011-06-02

9 answers

Nie ma możliwej okoliczności, w której użyłbym bazy danych NOSQl do czegokolwiek związanego z finansami. Po prostu nie masz potrzebnej integralności danych ani kontroli wewnętrznej. Dow Jones używa SQL Server do wykonywania swoich transakcji i jeśli mogą prawidłowo zaprojektować wysokowydajną, wysoką relacyjną bazę danych transakcji, tak możesz. Będziesz musiał zainwestować w niektórych ludzi, którzy wiedzą, co robią.

 17
Author: HLGEM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-02 21:27:37

O problemie trzeba myśleć inaczej. Pojęcie spójności transakcji wynika z UD (update) w CRUD (Create, Read, Update, Delete). noSQL DBs są zorientowane na tworzenie, replikację, dołączanie, proces), działające poprzez akrecję danych oznaczonych czasem. Dzięki odpowiedniemu modelowi domenowemu nie ma powodu, aby nie można było osiągnąć audytowalności i odpowiednika integralności odniesienia.

 7
Author: Truenum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-16 18:45:04

Baz danych NoSQL opartych na pamięci globalnej-Cache Z InterSystems i GT.M od FIS-są szeroko stosowane w usługach finansowych i są od wielu lat. W szczególności pamięć podręczna jest używana zarówno dla podstawowej bazy danych, jak i dla OLTP.

 6
Author: Rob Tweed,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-06 08:52:04

Mogę odpowiedzieć na moje doświadczenia z skalowaniem Riaka.

Riak skaluje się płynnie do skrajności. Skalowanie jest tak proste, jak dodawanie węzłów do klastra, co jest bardzo prostą operacją samą w sobie. Możesz osiągnąć skalowalność zbliżoną do liniowej, po prostu dodając węzły. Nasze doświadczenia z Riak w zakresie skalowania są niesamowite.

Druga strona jest taka, że brakuje jej pod wieloma względami. Niektóre przykłady:
  • nie można zrobić czegoś takiego jak count(*) LUB list keys na klaster produkcyjny. To wymagałoby obejścia, jeśli chcesz zrobić ETL z Riak do MySQL-lub skąd wiesz, co (E) xtract? (Jednym z możliwych sposobów obejścia byłoby utrzymanie łyżki ze znaną sekwencją kluczy, która odwzorowuje wartości zawierające klucze, które włożyłeś do innych łyżek).
  • [9]}darmowa wersja Riak nie ma konsoli zarządzania, która pozwala wiedzieć, co się dzieje, a ta, która jest zawarta w wersji Enterprise, nie jest zbyt duża poprawa.
  • do replikacji danych w sieci WAN (np. dla technologii DR / high availability) potrzebna będzie wersja Enterprise. W porządku, jeśli nie masz nic przeciwko płaceniu, ale pamiętaj, że ceny Basho są bardzo wysokie.
 4
Author: Elad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-02 18:12:28

Pracuję z Starcounter( więc jestem stronniczy), ale myślę, że mogę śmiało powiedzieć, że dla systemu przetwarzającego transakcje finansowe musisz martwić się o spójność transakcji. Niestety, z tego właśnie musieli zrezygnować silniki używane w Facebook i Twitter, aby ich strategia skalowania oferowała wydajność. Nie dlatego, że silniki takie jak MongoDb czy Cassandra są źle zaprojektowane; raczej wynika to naturalnie z twierdzenia CAP (http://en.wikipedia.org/wiki/CAP_theorem). po prostu put, zmiany wprowadzone w bazie danych nadpiszą inne zmiany, jeśli pojawią się blisko w czasie. Ok dla aktualizacji statusu i nowych tweetów, ale katastrofalne, jeśli masz do czynienia z pieniędzmi lub innymi ilościami. Kwoty będą po prostu źle się skończyć, gdy wiele odczytów i zapisów odbywa się równolegle. Więc dla potrzebnej przepustowości, centryczna baza danych NoSQL z obsługą ACID jest prawdopodobnie dobrym rozwiązaniem.

 1
Author: Joachim Wester,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-22 19:59:37

Możesz użyć niektórych baz danych NoSQL (Cassandra, EventStore) jako magazynu dla usług finansowych, jeśli zaimplementujesz swoją aplikację za pomocą event sourcingu i koncepcji z DDD. Polecam przeczytać ten minibook http://www.oreilly.com/programming/free/reactive-microservices-architecture.html

 1
Author: Denis Mikhaylov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-19 15:31:12

OLTP można osiągnąć za pomocą NoSQL z niestandardową implementacją,

Są dwie rzeczy, 1. Jak osiągnąć właściwości kwasowe, które daje RDBMS. 2. Zapewnij Niestandardowy mechanizm blokowania lub nieblokowania współbieżności i obsługi transakcji.

To take you closer to solution, Apache Phoenix,Apache trafodion lub Splice machine.

 1
Author: Yash K,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-23 17:07:08

Trafodion ma pełne wsparcie kwasowe nad Hbazą, powinieneś rzucić okiem.

 0
Author: Ming_Liu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-21 01:42:31

Cassandra może być używana zarówno dla OLTP, jak i OLAP. Dobra replikacja i ewentualna spójność danych daje Ci wybór w ręku. Trzeba prawidłowo zaprojektować system. W końcu jest to bezpłatne, ale nie wolne od deweloperów, spróbuj

 -4
Author: Anupam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-20 19:36:33