Apache Geode: Distributed, in-memory database
geode.incubator.apache.org
geode.incubator.apache.org
https://pivotal.io/big-data/pivotal-gemfire
===
I found this interesting deployment:
China National Railways use Geode to run railway ticketing for the entire
country with a 10 node cluster, managing 2 TB of "hot data" in memory,
and 10 backup nodes for high availability and elastic scale.
Holiday travel periods [Chinese New Year's] create peaks of 15,000 tickets
sold per minute, 1.4 billion page views per day and 40,000 visits per second.
http://pivotal.io/big-data/case-study/scaling-online-sales-f...The guys have been for 3 decades sitting on the forested Oregon river bank (the place is called Beavertown for reason :) thinking straight and clear in Smalltalk... :)
The original engineering expertise came from the team that built the Gemstone OODB.
Beaverton isn't so forested anymore, but lots of indigenous object oriented expertise for sure.
i know (was talking at some point about joining, already here in SV), and this is why i wrote only "3 decades" as i don't know precise dates of GemFire only suppose it to be beginning of 200x. My simple arithmetics mistake though - 2002 - 1982 is 2 decades, sorry, i see where confusion comes from :)
200,000 Concurrent ticket Purchases
https://pivotal.io/big-data/case-study/distributed-in-memory...- distributed, in-memory database - how does it compare to SAP HANA? or Redis? if "... database" where is the querying language? if you have own querying language other than SQL please show us.
- Performance is key - tell us about some benchmarks
- Consistency is a must - CA or CP in CAP theorem?
- Can I fully drop RDBMS in favor of Geode?
- web site built as Landing page/PR for product, then all of a sudden starts Community/Contributors/Getting started columns, with loooooong list of mailing lists, smaller content for contributors and very important part(getting started) presented as tiny small link :(, please put there some useful info about product, you already have Community/Contribute menus.
select * from /person p where p.name = 'foo' and p.age > 42
[1] - http://geode-docs.cfapps.io/docs/getting_started/querying_qu...
There is no CA. So, they must mean CP.
Remember, kids: if they promise CA, run away.
Here is a quick preview of how the new one will look like: markito.github.io/geode-website/
Any feedback is welcome!
It's not immediately obvious to me how Geode is different from Redis. When would I want to use Geode over Redis, and vice versa?
Redis is a great read-intensive cache. It also has a powerful data model, but you have to use their data models. Example: If you want to run calculations on lists or sets, they have powerful operations you can call.
IMDG's such as Geode were built with the rise of automated trading in the finance industry.
> Data is persisted in write-optimized disk storage. Consistency checking is configurable between highest performance caching and ACID transactions.
seems pretty different to redis. I don't think Redis does ACID transactions.
With Geode your Redis data structures can scale horizontally.
1. "Open Sourced GemFire In-Memory Distributed Database and Apache Contributors" (https://www.youtube.com/playlist?list=PL62pIycqXx-TTMXsq09BE...)
2. "Creating a Highly Scalable Stock Prediction System with R, Geode & Spring XD" (https://www.youtube.com/playlist?list=PL62pIycqXx-Rzd_HcjU7Y...)
How does Apache Goede compares to Apache Ignite (advertised as "in-memory data fabric"?
Apache Ignite, based off the commercial distribution Grid Gain is newer to market.
Apache Geode, based off the commercial distribution GemFire, has a long history in the market.
Apache is happy to provide a home for any community that is willing to adhere to our governance rules and traditions. Competing projects are OK.
Projects are almost never rejected because preparing a proposal for incubation is rigorous and many projects who would be a poor fit self-select out.
Source: former VP Apache Incubator, who has both helped prepare successful proposals and privately counseled projects who decided not to come to Apache.
This is cool: "Ignite allows for most of the data structures from java.util.concurrent framework to be used in a distributed fashion." https://ignite.apache.org/features/datastructures.html
I'm asking because a lot of Java "big data" stuff tend to prioritize Java clients (ZooKeeper, Kafka, Hadoop HDFS, Storm, VoltDB and HBase come to mind), and while there are sometimes clients in other languages, they tend to be second-class citizens that take years to reach feature/performance parity with the Java stuff.
For example, last I checked there still wasn't a mature, feature-complete Kafka client (consumer and producer with built in offset management) for Go.
There however is a REST api and a python client https://github.com/gemfire/py-gemfire-rest
I can understand for read-only in-memory, but what about writes?
What's also interesting is that we offer a very efficient way to recover data from disk as well[2] in the case of a crash of a single node or the entire cluster.
[1] https://en.wikipedia.org/wiki/Shared_nothing_architecture [2] http://gemfire.docs.pivotal.io/docs-gemfire/latest/managing/...
Hit me up with an email (jchester@pivotal.io) or visit pivotal.io/careers if you're interested.
hey this is very interesting, it could work as a persistent acid memcached drop-in replacement!
https://cwiki.apache.org/confluence/display/GEODE/Moving+fro...
This is probably closer to Apache Ignite aka Gridgain.
However, Apache Geode lets you add custom indexes so it might not be too hard to add Clojure's persistent data structures as a custom index scheme and hook in Apache Geode as a backend to Clojure Datalog:
Clojure Datalog: https://github.com/fogus/bacwn
Datscript: https://github.com/tonsky/datascript
Clojure's Persistent Data Structures for Java: https://github.com/grignaak/clj-ds
Why are all Apache projects are written in Java?