To nie jest pełne rozwiązanie, ale możesz zajrzeć do OrientDB jako części swojego stosu. Orient to serwer bazy danych Graph-Document napisany całkowicie w Javie.
W graficznych bazach danych relacje są uważane za obywateli pierwszej klasy, dlatego też przejście przez nie można wykonać dość szybko. Orient to także baza danych dokumentów, która pozwoliłaby ci na architekturę pozbawioną schematu, która wydaje się być potrzebna. Jednak prawdziwym powodem, dla którego sugeruję Orient, jest jego rozszerzalność. Obsługuje przesyłanie strumieniowe przez gniazda, a całą bazę danych można osadzić w innej aplikacji. Wreszcie, można go skutecznie skalować i / lub może działać całkowicie poprzez pamięć. Tak więc, dzięki pewnej wiedzy na temat języka Java, możesz faktycznie uruchamiać swoje ustawione zapytania względem bazy danych w pamięci.
Robimy coś podobnego. Tworząc aplikację / witrynę do współpracy badawczej w dziedzinie nauk społecznych, odkryliśmy niezwykle złożone modele danych. Skończyło się na napisaniu kilku zapytań przy użyciu języka Gremlin Traversal Language (podzbiór Groovy, którym jest oczywiście Java w jego sercu), a następnie udostępnieniu tych zapytań za pośrednictwem serwera połączeń binarnych OrientDB. Tak więc klient otwiera gniazdo TCP, wysyła krótki komunikat binarny, a zapytanie jest wykonywane w Javie bezpośrednio w bazie danych w pamięci.
OrientDB obsługuje również pisanie zapytań o funkcje w JavaScript, a można użyć Node.js do bezpośredniej interakcji z instancją Orient.
W przypadku czegoś takiego rozmiaru chciałbym użyć Orient w połączeniu z Hadoop lub coś takiego. Możesz także używać Orientu w połączeniu z esper.
Zastanów się: Wprowadzenie do orient: http://www.sitepoint.com/a-look-at-orientdb-the-graph-document-nosql/
Złożone zapytania w czasie rzeczywistym: http://www.gft-blog.com/business-trends/leveraging-real-time-scoring-through-bigdata-to-detect-insurance-fraud/
Dyskusja na temat opcji przesyłania strumieniowego za pomocą java i orient: https://github.com/orientechnologies/orientdb/issues/1227