Alternatives to MapDB logo

Alternatives to MapDB

Redis, MongoDB, RocksDB, LevelDB, and Lucene are the most popular alternatives and competitors to MapDB.
7
35
+ 1
0

What is MapDB and what are its top alternatives?

MapDB provides Java Maps, Sets, Lists, Queues and other collections backed by off-heap or on-disk storage. It is a hybrid between java collection framework and embedded database engine. It is free and open-source under Apache license.
MapDB is a tool in the Database Tools category of a tech stack.

Top Alternatives to MapDB

  • Redis

    Redis

    Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. ...

  • MongoDB

    MongoDB

    MongoDB stores data in JSON-like documents that can vary in structure, offering a dynamic, flexible schema. MongoDB was also designed for high availability and scalability, with built-in replication and auto-sharding. ...

  • RocksDB

    RocksDB

    RocksDB is an embeddable persistent key-value store for fast storage. RocksDB can also be the foundation for a client-server database but our current focus is on embedded workloads. RocksDB builds on LevelDB to be scalable to run on servers with many CPU cores, to efficiently use fast storage, to support IO-bound, in-memory and write-once workloads, and to be flexible to allow for innovation. ...

  • LevelDB

    LevelDB

    It is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values. It has been ported to a variety of Unix-based systems, macOS, Windows, and Android. ...

  • Lucene

    Lucene

    Lucene Core, our flagship sub-project, provides Java-based indexing and search technology, as well as spellchecking, hit highlighting and advanced analysis/tokenization capabilities. ...

  • Ehcache

    Ehcache

    Ehcache is an open source, standards-based cache for boosting performance, offloading your database, and simplifying scalability. It's the most widely-used Java-based cache because it's robust, proven, and full-featured. Ehcache scales from in-process, with one or more nodes, all the way to mixed in-process/out-of-process configurations with terabyte-sized caches. ...

  • Hazelcast

    Hazelcast

    With its various distributed data structures, distributed caching capabilities, elastic nature, memcache support, integration with Spring and Hibernate and more importantly with so many happy users, Hazelcast is feature-rich, enterprise-ready and developer-friendly in-memory data grid solution. ...

  • SQLite

    SQLite

    SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process. SQLite reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file. ...

MapDB alternatives & related posts

Redis logo

Redis

42.4K
32K
3.9K
An in-memory database that persists on disk
42.4K
32K
+ 1
3.9K
PROS OF REDIS
  • 875
    Performance
  • 535
    Super fast
  • 511
    Ease of use
  • 441
    In-memory cache
  • 321
    Advanced key-value cache
  • 190
    Open source
  • 179
    Easy to deploy
  • 163
    Stable
  • 153
    Free
  • 120
    Fast
  • 40
    High-Performance
  • 39
    High Availability
  • 34
    Data Structures
  • 32
    Very Scalable
  • 23
    Replication
  • 20
    Great community
  • 19
    Pub/Sub
  • 17
    "NoSQL" key-value data store
  • 14
    Hashes
  • 12
    Sets
  • 10
    Sorted Sets
  • 9
    Lists
  • 8
    BSD licensed
  • 8
    NoSQL
  • 7
    Async replication
  • 7
    Integrates super easy with Sidekiq for Rails background
  • 7
    Bitmaps
  • 6
    Open Source
  • 6
    Keys with a limited time-to-live
  • 5
    Strings
  • 5
    Lua scripting
  • 4
    Awesomeness for Free!
  • 4
    Hyperloglogs
  • 3
    outstanding performance
  • 3
    Runs server side LUA
  • 3
    Networked
  • 3
    LRU eviction of keys
  • 3
    Written in ANSI C
  • 3
    Feature Rich
  • 3
    Transactions
  • 2
    Data structure server
  • 2
    Performance & ease of use
  • 1
    Existing Laravel Integration
  • 1
    Automatic failover
  • 1
    Easy to use
  • 1
    Object [key/value] size each 500 MB
  • 1
    Simple
  • 1
    Channels concept
  • 1
    Scalable
  • 1
    Temporarily kept on disk
  • 1
    Dont save data if no subscribers are found
  • 0
    Jk
CONS OF REDIS
  • 14
    Cannot query objects directly
  • 2
    No secondary indexes for non-numeric data types
  • 1
    No WAL

related Redis posts

Robert Zuber

We use MongoDB as our primary #datastore. Mongo's approach to replica sets enables some fantastic patterns for operations like maintenance, backups, and #ETL.

As we pull #microservices from our #monolith, we are taking the opportunity to build them with their own datastores using PostgreSQL. We also use Redis to cache data we’d never store permanently, and to rate-limit our requests to partners’ APIs (like GitHub).

When we’re dealing with large blobs of immutable data (logs, artifacts, and test results), we store them in Amazon S3. We handle any side-effects of S3’s eventual consistency model within our own code. This ensures that we deal with user requests correctly while writes are in process.

See more

I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.

We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.

Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis  for cache and other time sensitive operations.

We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.

Since we have different frontend apps we have found useful to have Bit to document visual components and utils in JavaScript.

See more
MongoDB logo

MongoDB

64K
53.5K
4.1K
The database for giant ideas
64K
53.5K
+ 1
4.1K
PROS OF MONGODB
  • 824
    Document-oriented storage
  • 591
    No sql
  • 546
    Ease of use
  • 465
    Fast
  • 406
    High performance
  • 256
    Free
  • 215
    Open source
  • 179
    Flexible
  • 142
    Replication & high availability
  • 109
    Easy to maintain
  • 41
    Querying
  • 37
    Easy scalability
  • 36
    Auto-sharding
  • 35
    High availability
  • 31
    Map/reduce
  • 26
    Document database
  • 24
    Easy setup
  • 24
    Full index support
  • 15
    Reliable
  • 14
    Fast in-place updates
  • 13
    Agile programming, flexible, fast
  • 11
    No database migrations
  • 7
    Easy integration with Node.Js
  • 7
    Enterprise
  • 5
    Enterprise Support
  • 4
    Great NoSQL DB
  • 3
    Aggregation Framework
  • 3
    Support for many languages through different drivers
  • 3
    Drivers support is good
  • 2
    Schemaless
  • 2
    Easy to Scale
  • 2
    Fast
  • 2
    Awesome
  • 2
    Managed service
  • 1
    Consistent
CONS OF MONGODB
  • 5
    Very slowly for connected models that require joins
  • 3
    Not acid compliant
  • 1
    Proprietary query language

related MongoDB posts

Jeyabalaji Subramanian

Recently we were looking at a few robust and cost-effective ways of replicating the data that resides in our production MongoDB to a PostgreSQL database for data warehousing and business intelligence.

We set ourselves the following criteria for the optimal tool that would do this job: - The data replication must be near real-time, yet it should NOT impact the production database - The data replication must be horizontally scalable (based on the load), asynchronous & crash-resilient

Based on the above criteria, we selected the following tools to perform the end to end data replication:

We chose MongoDB Stitch for picking up the changes in the source database. It is the serverless platform from MongoDB. One of the services offered by MongoDB Stitch is Stitch Triggers. Using stitch triggers, you can execute a serverless function (in Node.js) in real time in response to changes in the database. When there are a lot of database changes, Stitch automatically "feeds forward" these changes through an asynchronous queue.

We chose Amazon SQS as the pipe / message backbone for communicating the changes from MongoDB to our own replication service. Interestingly enough, MongoDB stitch offers integration with AWS services.

In the Node.js function, we wrote minimal functionality to communicate the database changes (insert / update / delete / replace) to Amazon SQS.

Next we wrote a minimal micro-service in Python to listen to the message events on SQS, pickup the data payload & mirror the DB changes on to the target Data warehouse. We implemented source data to target data translation by modelling target table structures through SQLAlchemy . We deployed this micro-service as AWS Lambda with Zappa. With Zappa, deploying your services as event-driven & horizontally scalable Lambda service is dumb-easy.

In the end, we got to implement a highly scalable near realtime Change Data Replication service that "works" and deployed to production in a matter of few days!

See more
Robert Zuber

We use MongoDB as our primary #datastore. Mongo's approach to replica sets enables some fantastic patterns for operations like maintenance, backups, and #ETL.

As we pull #microservices from our #monolith, we are taking the opportunity to build them with their own datastores using PostgreSQL. We also use Redis to cache data we’d never store permanently, and to rate-limit our requests to partners’ APIs (like GitHub).

When we’re dealing with large blobs of immutable data (logs, artifacts, and test results), we store them in Amazon S3. We handle any side-effects of S3’s eventual consistency model within our own code. This ensures that we deal with user requests correctly while writes are in process.

See more
RocksDB logo

RocksDB

88
201
10
Embeddable persistent key-value store for fast storage, developed and maintained by Facebook Database Engineering Team
88
201
+ 1
10
PROS OF ROCKSDB
  • 4
    Very fast
  • 3
    Made by Facebook
  • 2
    Consistent performance
  • 1
    Ability to add logic to the database layer where needed
CONS OF ROCKSDB
    Be the first to leave a con

    related RocksDB posts

    Thierry Schellenbach
    Shared insights
    on
    RedisRedisCassandraCassandraRocksDBRocksDB
    at

    1.0 of Stream leveraged Cassandra for storing the feed. Cassandra is a common choice for building feeds. Instagram, for instance started, out with Redis but eventually switched to Cassandra to handle their rapid usage growth. Cassandra can handle write heavy workloads very efficiently.

    Cassandra is a great tool that allows you to scale write capacity simply by adding more nodes, though it is also very complex. This complexity made it hard to diagnose performance fluctuations. Even though we had years of experience with running Cassandra, it still felt like a bit of a black box. When building Stream 2.0 we decided to go for a different approach and build Keevo. Keevo is our in-house key-value store built upon RocksDB, gRPC and Raft.

    RocksDB is a highly performant embeddable database library developed and maintained by Facebook’s data engineering team. RocksDB started as a fork of Google’s LevelDB that introduced several performance improvements for SSD. Nowadays RocksDB is a project on its own and is under active development. It is written in C++ and it’s fast. Have a look at how this benchmark handles 7 million QPS. In terms of technology it’s much more simple than Cassandra.

    This translates into reduced maintenance overhead, improved performance and, most importantly, more consistent performance. It’s interesting to note that LinkedIn also uses RocksDB for their feed.

    #InMemoryDatabases #DataStores #Databases

    See more
    LevelDB logo

    LevelDB

    54
    76
    0
    An open-source on-disk key-value store
    54
    76
    + 1
    0
    PROS OF LEVELDB
      Be the first to leave a pro
      CONS OF LEVELDB
        Be the first to leave a con

        related LevelDB posts

        Lucene logo

        Lucene

        149
        193
        0
        A high-performance, full-featured text search engine library written entirely in Java
        149
        193
        + 1
        0
        PROS OF LUCENE
          Be the first to leave a pro
          CONS OF LUCENE
            Be the first to leave a con

            related Lucene posts

            Shared insights
            on
            SolrSolrLuceneLucene
            at

            "Slack provides two strategies for searching: Recent and Relevant. Recent search finds the messages that match all terms and presents them in reverse chronological order. If a user is trying to recall something that just happened, Recent is a useful presentation of the results.

            Relevant search relaxes the age constraint and takes into account the Lucene score of the document — how well it matches the query terms (Solr powers search at Slack). Used about 17% of the time, Relevant search performed slightly worse than Recent according to the search quality metrics we measured: the number of clicks per search and the click-through rate of the search results in the top several positions. We recognized that Relevant search could benefit from using the user’s interaction history with channels and other users — their ‘work graph’."

            See more
            Ehcache logo

            Ehcache

            88
            124
            4
            Java's Most Widely-Used Cache
            88
            124
            + 1
            4
            PROS OF EHCACHE
            • 1
              Way Faster than Redis and Elasticache Redis
            • 1
              Easy setup
            • 1
              Simpler to run in testing environment
            • 1
              Container doesn't have to be running for local tests
            CONS OF EHCACHE
              Be the first to leave a con

              related Ehcache posts

              Hazelcast logo

              Hazelcast

              242
              364
              56
              Clustering and highly scalable data distribution platform for Java
              242
              364
              + 1
              56
              PROS OF HAZELCAST
              • 10
                High Availibility
              • 6
                Distributed Locking
              • 5
                Distributed compute
              • 5
                Sharding
              • 4
                Load balancing
              • 3
                Sql query support in cluster wide
              • 3
                Map-reduce functionality
              • 3
                Written in java. runs on jvm
              • 3
                Publish-subscribe
              • 2
                Performance
              • 2
                Simple-to-use
              • 2
                Multiple client language support
              • 2
                Rest interface
              • 2
                Optimis locking for map
              • 1
                Super Fast
              • 1
                Admin Interface (Management Center)
              • 1
                Better Documentation
              • 1
                Easy to use
              CONS OF HAZELCAST
              • 3
                License needed for SSL

              related Hazelcast posts

              SQLite logo

              SQLite

              12K
              9.6K
              528
              A software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine
              12K
              9.6K
              + 1
              528
              PROS OF SQLITE
              • 160
                Lightweight
              • 134
                Portable
              • 121
                Simple
              • 80
                Sql
              • 28
                Preinstalled on iOS and Android
              • 2
                Tcl integration
              • 1
                Free
              • 1
                Telefon
              • 1
                Portable A database on my USB 'love it'
              CONS OF SQLITE
              • 2
                Not for multi-process of multithreaded apps
              • 1
                Needs different binaries for each platform

              related SQLite posts

              Dimelo Waterson
              Shared insights
              on
              PostgreSQLPostgreSQLMySQLMySQLSQLiteSQLite

              I need to add a DBMS to my stack, but I don't know which. I'm tempted to learn SQLite since it would be useful to me with its focus on local access without concurrency. However, doing so feels like I would be defeating the purpose of trying to expand my skill set since it seems like most enterprise applications have the opposite requirements.

              To be able to apply what I learn to more projects, what should I try to learn? MySQL? PostgreSQL? Something else? Is there a comfortable middle ground between high applicability and ease of use?

              See more
              Christian Stefanescu
              Head of IT at lawpilots · | 3 upvotes · 9.1K views
              Shared insights
              on
              DjangoDjangoSQLiteSQLitePostgreSQLPostgreSQL

              While I love and use PostgreSQL , I would definitely recommend having a look at SQLite as well. It can be a solid database for lots of applications and it brings some advantages in terms of handling: you don't need a server running, which makes things like testing, deploying or backing up databases much easier. Through the ORM in Django you are one abstraction level away from your database anyway and switching later on is definitely an option, but I believe SQLite is very good for pretty much all the small applications you can think of.

              See more