Ini bukan solusi lengkap, tetapi Anda mungkin ingin melihat OrientDB sebagai bagian dari tumpukan Anda. Orient adalah server basis data Graph-Document yang seluruhnya ditulis dalam Java.
Dalam basis data grafik, hubungan dianggap warga negara kelas satu dan oleh karena itu melintasi hubungan tersebut dapat dilakukan dengan cukup cepat. Orient juga merupakan basis data dokumen yang memungkinkan Anda mendapatkan jenis arsitektur bebas skema yang sepertinya Anda perlukan. Alasan sebenarnya saya menyarankan Orient, adalah karena ekstensibilitasnya. Ini mendukung streaming melalui soket, dan seluruh basis data dapat disematkan ke aplikasi lain. Akhirnya, ini dapat diskalakan secara efisien dan / atau dapat bekerja sepenuhnya melalui memori. Jadi, dengan beberapa keahlian Java, Anda benar-benar dapat menjalankan kueri preset terhadap basis data dalam memori.
Kami melakukan hal serupa. Dalam membuat aplikasi / situs untuk kolaborasi penelitian ilmu sosial, kami menemukan diri kami dengan model data yang sangat kompleks. Kami akhirnya menulis beberapa pertanyaan menggunakan GREMLIN Traversal Language (subset dari Groovy, yang tentu saja, Java pada intinya), dan kemudian mengekspos query tersebut melalui server koneksi biner dari OrientDB. Jadi, klien membuka soket TCP, mengirim pesan biner pendek, dan kueri mengeksekusi di Jawa secara langsung terhadap database di-memori.
OrientDB juga mendukung kueri fungsi penulisan dalam Javascript, dan Anda dapat menggunakan Node.js untuk berinteraksi langsung dengan instance Orient.
Untuk ukuran sebesar ini, saya ingin menggunakan Orient bersamaan dengan Hadoop atau sesuatu seperti itu. Anda juga dapat menggunakan Orient bersamaan dengan esper.
Pertimbangkan: Pengantar orientasi: http://www.sitepoint.com/a-look-at-orientdb-the-graph-document-nosql/
Pertanyaan yang kompleks dan real-time: http://www.gft-blog.com/business-trends/leveraging-real-time-scoring-through-bigdata-to-detect-insurance-fraud/
Diskusi tentang opsi streaming dengan java dan orient: https://github.com/orientechnologies/orientdb/issues/1227