Apache Geode is a distributed in-memory database designed to support low latency, high concurrency solutions, available free and open source since 2002. With it, users can build high-speed, data-intensive applications that elastically meet performance requirements. Apache Geode blends techniques for data replication, partitioning and distributed processing.
N/A
MariaDB Platform
Score 9.5 out of 10
N/A
MariaDB is an open-source relational database made by the original developers of MySQL, supported by the MariaDB Foundation and a community of developers. The community states recent additional capabilities as including clustering with Galera Cluster 4, compatibility with Oracle Database, and Temporal Data Tables, allowing one to query the data as it stood at any point in the past.
N/A
Redis Software
Score 9.1 out of 10
N/A
Redis is an open source in-memory data structure server and NoSQL database.
We selected MariaDB over MySQL because of their true open source model and performance optimizations. It was also helpful that it is a drop-in replacement for MySQL so there was no need to update our various software drivers.
The biggest advantage of using Apache Geode is DB like consistency. So for applications whose data needs to be in-memory, accessible at low latencies and most importantly writes have to be consistent, should use Apache Geode. For our application quite some amount of data is static which we store in MySQL as it can be easily manipulated. But since this data is large R/w from DB becomes expensive. So we started using Redis. Redis does a brilliant job, but with complex data structures and no query like capability, we have to manage it via code. We are experimenting with Apache Geode and it looks promising as now we can query on complex data-structures and get the required data quickly and also updates consistent.
Redis has been a great investment for our organization as we needed a solution for high speed data caching. The ramp up and integration was quite easy. Redis handles automatic failover internally, so no crashes provides high availability. On the fly scaling scale to more/less cores and memory as and when needed.
Simpler learning curve. MariaDB is a cleaner, simpler system that is (IMO) easier to learn and easier to manage effectively than many other database systems.
Lower hardware requirements. After migrating to MariaDB from another database software system, we find that our hardware needs have substantially decreased.
MariaDB support is very responsive. It's like they actually care. On the few occasions we've run into technical issues, support has always come through with what we needed. Once it was showing me a relatively new feature the server supported that I wasn't aware of, that, once I was able to properly make use of it helped me resolve a serious production performance issue.
Architectural flexibility. As an example, the ready availability of synchronous (Galera) versus asynchronous replication schemes without being locked into one of the other by enormous technical complexity or punitive licensing, allows the customer to find what really works best for their needs.
Easy for developers to understand. Unlike Riak, which I've used in the past, it's fast without having to worry about eventual consistency.
Reliable. With a proper multi-node configuration, it can handle failover instantly.
Configurable. We primarily still use Memcache for caching but one of the teams uses Redis for both long-term storage and temporary expiry keys without taking on another external dependency.
Fast. We process tens of thousands of RPS and it doesn't skip a beat.
Driver Support - Some third party applications use database drivers that cause unexplained slowness with MariaDB. This can be worked around by using the MySQL drivers, but it's not clear what causes the problem in the first place.
Support - While online communities are helpful in diagnosing problems, there isn't as much professional documentation/support available for MariaDB as some of the other major database options.
Data Visualization - It would be helpful if there were more built in options for analyzing statistics and generating reports.
We had some difficulty scaling Redis without it becoming prohibitively expensive.
Redis has very simple search capabilities, which means its not suitable for all use cases.
Redis doesn't have good native support for storing data in object form and many libraries built over it return data as a string, meaning you need build your own serialization layer over it.
We will definitely continue using Redis because: 1. It is free and open source. 2. We already use it in so many applications, it will be hard for us to let go. 3. There isn't another competitive product that we know of that gives a better performance. 4. We never had any major issues with Redis, so no point turning our backs.
Still Experimenting. Initial results are good. we need to figure out if we can completely replace Redis. Cost wise if it makes sense to keep both or replacement is feasible.
MariaDB is very usable and stable to be used in production settings as an alternative to MySQL. The shortcomings of SQL are present but well understood in the community, and if the decision were to be made again, I would choose MariaDB over MySQL on future projects.
It is quite simple to set up for the purpose of managing user sessions in the backend. It can be easily integrated with other products or technologies, such as Spring in Java. If you need to actually display the data stored in Redis in your application this is a bit difficult to understand initially but is possible.
We have launched several inquiries to MariaDB support and they have always responded very quickly and have not been tutoring for the duration of the incident/problem.
Likewise, they want to hold constant meetings with the client to get their opinion as well as how they can help.
I see a very human support and concerned about the customer.
The support team has always been excellent in handling our mostly questions, rarely problems. They are responsive, find the solution and get us moving forward again. I have never had to escalate a case with them. They have always solved our problems in a very timely manner. I highly commend the support team.
MariaDB stacks up the the competition just fine. Due to is ture open source nature we do not have to worry about licencing and spending money on nothing. Moreover, MariaDB does everything that we need to get done. We can run data that is a million rows or many smaller projects on the same environment with little overhead. One of the best features that MariaDB has is the ability of backup or dump data to standard text sql statements. That was one of the reasons why we choose MariaDb because it makes backups or transferring data a snap
We are big users of MySQL and PostgreSQL. We were looking at replacing our aging web page caching technology and found that we could do it in SQL, but there was a NoSQL movement happening at the time. We dabbled a bit in the NoSQL scene just to get an idea of what it was about and whether it was for us. We tried a bunch, but I can only seem to remember Mongo and Couch. Mongo had big issues early on that drove us to Redis and we couldn't quite figure out how to deploy couch.
Redis has helped us increase our throughput and server data to a growing amount of traffic while keeping our app fast. We couldn't have grown without the ability to easily cache data that Redis provides.
Redis has helped us decrease the load on our database. By being able to scale up and cache important data, we reduce the load on our database reducing costs and infra issues.
Running a Redis node on something like AWS can be costly, but it is often a requirement for scaling a company. If you need data quickly and your business is already a positive ROI, Redis is worth the investment.