Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

CrateIO
CrateIO

9
14
+ 1
7
Memcached
Memcached

2.7K
1.7K
+ 1
452
Add tool

CrateIO vs Memcached: What are the differences?

CrateIO: The Distributed Database for Docker. Crate is a distributed data store. Simply install Crate directly on your application servers and make the big centralized database a thing of the past. Crate takes care of synchronization, sharding, scaling, and replication even for mammoth data sets; Memcached: High-performance, distributed memory object caching system. Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.

CrateIO and Memcached can be primarily classified as "Databases" tools.

"Simplicity" is the primary reason why developers consider CrateIO over the competitors, whereas "Fast object cache" was stated as the key factor in picking Memcached.

CrateIO and Memcached are both open source tools. Memcached with 8.99K GitHub stars and 2.6K forks on GitHub appears to be more popular than CrateIO with 2.49K GitHub stars and 333 GitHub forks.

What is CrateIO?

Crate is a distributed data store. Simply install Crate directly on your application servers and make the big centralized database a thing of the past. Crate takes care of synchronization, sharding, scaling, and replication even for mammoth data sets.

What is Memcached?

Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose CrateIO?
Why do developers choose Memcached?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con
      Be the first to leave a con
      What companies use CrateIO?
      What companies use Memcached?
        No companies found

        Sign up to get full access to all the companiesMake informed product decisions

        What tools integrate with CrateIO?
        What tools integrate with Memcached?

        Sign up to get full access to all the tool integrationsMake informed product decisions

        What are some alternatives to CrateIO and Memcached?
        MySQL
        The MySQL software delivers a very fast, multi-threaded, multi-user, and robust SQL (Structured Query Language) database server. MySQL Server is intended for mission-critical, heavy-load production systems as well as for embedding into mass-deployed software.
        PostgreSQL
        PostgreSQL is an advanced object-relational database management system that supports an extended subset of the SQL standard, including transactions, foreign keys, subqueries, triggers, user-defined types and functions.
        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.
        Microsoft SQL Server
        Microsoft® SQL Server is a database management and analysis system for e-commerce, line-of-business, and data warehousing solutions.
        MariaDB
        Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry. MariaDB is designed as a drop-in replacement of MySQL(R) with more features, new storage engines, fewer bugs, and better performance.
        See all alternatives
        Decisions about CrateIO and Memcached
        Node.js
        Node.js
        Python
        Python
        MySQL
        MySQL
        Memcached
        Memcached
        nginx
        nginx
        RabbitMQ
        RabbitMQ
        Redis
        Redis
        Django
        Django
        Tornado
        Tornado
        Varnish
        Varnish
        HAProxy
        HAProxy

        Around the time of their Series A, Pinterest’s stack included Python and Django, with Tornado and Node.js as web servers. Memcached / Membase and Redis handled caching, with RabbitMQ handling queueing. Nginx, HAproxy and Varnish managed static-delivery and load-balancing, with persistent data storage handled by MySQL.

        See more
        Kir Shatrov
        Kir Shatrov
        Production Engineer at Shopify · | 12 upvotes · 78.1K views
        atShopifyShopify
        Rails
        Rails
        MySQL
        MySQL
        Memcached
        Memcached
        Redis
        Redis

        As is common in the Rails stack, since the very beginning, we've stayed with MySQL as a relational database, Memcached for key/value storage and Redis for queues and background jobs.

        In 2014, we could no longer store all our data in a single MySQL instance - even by buying better hardware. We decided to use sharding and split all of Shopify into dozens of database partitions.

        Sharding played nicely for us because Shopify merchants are isolated from each other and we were able to put a subset of merchants on a single shard. It would have been harder if our business assumed shared data between customers.

        The sharding project bought us some time regarding database capacity, but as we soon found out, there was a huge single point of failure in our infrastructure. All those shards were still using a single Redis. At one point, the outage of that Redis took down all of Shopify, causing a major disruption we later called “Redismageddon”. This taught us an important lesson to avoid any resources that are shared across all of Shopify.

        Over the years, we moved from shards to the concept of "pods". A pod is a fully isolated instance of Shopify with its own datastores like MySQL, Redis, memcached. A pod can be spawned in any region. This approach has helped us eliminate global outages. As of today, we have more than a hundred pods, and since moving to this architecture we haven't had any major outages that affected all of Shopify. An outage today only affects a single pod or region.

        See more
        Kir Shatrov
        Kir Shatrov
        Production Engineer at Shopify · | 13 upvotes · 145.4K views
        atShopifyShopify
        Docker
        Docker
        Kubernetes
        Kubernetes
        Google Kubernetes Engine
        Google Kubernetes Engine
        MySQL
        MySQL
        Redis
        Redis
        Memcached
        Memcached

        At Shopify, over the years, we moved from shards to the concept of "pods". A pod is a fully isolated instance of Shopify with its own datastores like MySQL, Redis, Memcached. A pod can be spawned in any region. This approach has helped us eliminate global outages. As of today, we have more than a hundred pods, and since moving to this architecture we haven't had any major outages that affected all of Shopify. An outage today only affects a single pod or region.

        As we grew into hundreds of shards and pods, it became clear that we needed a solution to orchestrate those deployments. Today, we use Docker, Kubernetes, and Google Kubernetes Engine to make it easy to bootstrap resources for new Shopify Pods.

        See more
        AWS Elastic Beanstalk
        AWS Elastic Beanstalk
        Heroku
        Heroku
        Ruby
        Ruby
        Rails
        Rails
        Amazon RDS for PostgreSQL
        Amazon RDS for PostgreSQL
        MariaDB
        MariaDB
        Microsoft SQL Server
        Microsoft SQL Server
        Amazon RDS
        Amazon RDS
        AWS Lambda
        AWS Lambda
        Python
        Python
        Redis
        Redis
        Memcached
        Memcached
        AWS Elastic Load Balancing (ELB)
        AWS Elastic Load Balancing (ELB)
        Amazon Elasticsearch Service
        Amazon Elasticsearch Service
        Amazon ElastiCache
        Amazon ElastiCache

        We initially started out with Heroku as our PaaS provider due to a desire to use it by our original developer for our Ruby on Rails application/website at the time. We were finding response times slow, it was painfully slow, sometimes taking 10 seconds to start loading the main page. Moving up to the next "compute" level was going to be very expensive.

        We moved our site over to AWS Elastic Beanstalk , not only did response times on the site practically become instant, our cloud bill for the application was cut in half.

        In database world we are currently using Amazon RDS for PostgreSQL also, we have both MariaDB and Microsoft SQL Server both hosted on Amazon RDS. The plan is to migrate to AWS Aurora Serverless for all 3 of those database systems.

        Additional services we use for our public applications: AWS Lambda, Python, Redis, Memcached, AWS Elastic Load Balancing (ELB), Amazon Elasticsearch Service, Amazon ElastiCache

        See more
        StackShare Editors
        StackShare Editors
        Prometheus
        Prometheus
        Chef
        Chef
        Consul
        Consul
        Memcached
        Memcached
        Hack
        Hack
        Swift
        Swift
        Hadoop
        Hadoop
        Terraform
        Terraform
        Airflow
        Airflow
        Apache Spark
        Apache Spark
        Kubernetes
        Kubernetes
        gRPC
        gRPC
        HHVM (HipHop Virtual Machine)
        HHVM (HipHop Virtual Machine)
        Presto
        Presto
        Kotlin
        Kotlin
        Apache Thrift
        Apache Thrift

        Since the beginning, Cal Henderson has been the CTO of Slack. Earlier this year, he commented on a Quora question summarizing their current stack.

        Apps
        • Web: a mix of JavaScript/ES6 and React.
        • Desktop: And Electron to ship it as a desktop application.
        • Android: a mix of Java and Kotlin.
        • iOS: written in a mix of Objective C and Swift.
        Backend
        • The core application and the API written in PHP/Hack that runs on HHVM.
        • The data is stored in MySQL using Vitess.
        • Caching is done using Memcached and MCRouter.
        • The search service takes help from SolrCloud, with various Java services.
        • The messaging system uses WebSockets with many services in Java and Go.
        • Load balancing is done using HAproxy with Consul for configuration.
        • Most services talk to each other over gRPC,
        • Some Thrift and JSON-over-HTTP
        • Voice and video calling service was built in Elixir.
        Data warehouse
        • Built using open source tools including Presto, Spark, Airflow, Hadoop and Kafka.
        Etc
        See more
        Julien DeFrance
        Julien DeFrance
        Principal Software Engineer at Tophatter · | 16 upvotes · 497.8K views
        atSmartZipSmartZip
        Rails
        Rails
        Rails API
        Rails API
        AWS Elastic Beanstalk
        AWS Elastic Beanstalk
        Capistrano
        Capistrano
        Docker
        Docker
        Amazon S3
        Amazon S3
        Amazon RDS
        Amazon RDS
        MySQL
        MySQL
        Amazon RDS for Aurora
        Amazon RDS for Aurora
        Amazon ElastiCache
        Amazon ElastiCache
        Memcached
        Memcached
        Amazon CloudFront
        Amazon CloudFront
        Segment
        Segment
        Zapier
        Zapier
        Amazon Redshift
        Amazon Redshift
        Amazon Quicksight
        Amazon Quicksight
        Superset
        Superset
        Elasticsearch
        Elasticsearch
        Amazon Elasticsearch Service
        Amazon Elasticsearch Service
        New Relic
        New Relic
        AWS Lambda
        AWS Lambda
        Node.js
        Node.js
        Ruby
        Ruby
        Amazon DynamoDB
        Amazon DynamoDB
        Algolia
        Algolia

        Back in 2014, I was given an opportunity to re-architect SmartZip Analytics platform, and flagship product: SmartTargeting. This is a SaaS software helping real estate professionals keeping up with their prospects and leads in a given neighborhood/territory, finding out (thanks to predictive analytics) who's the most likely to list/sell their home, and running cross-channel marketing automation against them: direct mail, online ads, email... The company also does provide Data APIs to Enterprise customers.

        I had inherited years and years of technical debt and I knew things had to change radically. The first enabler to this was to make use of the cloud and go with AWS, so we would stop re-inventing the wheel, and build around managed/scalable services.

        For the SaaS product, we kept on working with Rails as this was what my team had the most knowledge in. We've however broken up the monolith and decoupled the front-end application from the backend thanks to the use of Rails API so we'd get independently scalable micro-services from now on.

        Our various applications could now be deployed using AWS Elastic Beanstalk so we wouldn't waste any more efforts writing time-consuming Capistrano deployment scripts for instance. Combined with Docker so our application would run within its own container, independently from the underlying host configuration.

        Storage-wise, we went with Amazon S3 and ditched any pre-existing local or network storage people used to deal with in our legacy systems. On the database side: Amazon RDS / MySQL initially. Ultimately migrated to Amazon RDS for Aurora / MySQL when it got released. Once again, here you need a managed service your cloud provider handles for you.

        Future improvements / technology decisions included:

        Caching: Amazon ElastiCache / Memcached CDN: Amazon CloudFront Systems Integration: Segment / Zapier Data-warehousing: Amazon Redshift BI: Amazon Quicksight / Superset Search: Elasticsearch / Amazon Elasticsearch Service / Algolia Monitoring: New Relic

        As our usage grows, patterns changed, and/or our business needs evolved, my role as Engineering Manager then Director of Engineering was also to ensure my team kept on learning and innovating, while delivering on business value.

        One of these innovations was to get ourselves into Serverless : Adopting AWS Lambda was a big step forward. At the time, only available for Node.js (Not Ruby ) but a great way to handle cost efficiency, unpredictable traffic, sudden bursts of traffic... Ultimately you want the whole chain of services involved in a call to be serverless, and that's when we've started leveraging Amazon DynamoDB on these projects so they'd be fully scalable.

        See more
        Yonas Beshawred
        Yonas Beshawred
        CEO at StackShare · | 9 upvotes · 29.1K views
        atStackShareStackShare
        MemCachier
        MemCachier
        PostgreSQL
        PostgreSQL
        Rails
        Rails
        Amazon ElastiCache
        Amazon ElastiCache
        Heroku
        Heroku
        Memcached
        Memcached
        #Caching
        #RailsCaching

        We decided to use MemCachier as our Memcached provider because we were seeing some serious PostgreSQL performance issues with query-heavy pages on the site. We use MemCachier for all Rails caching and pretty aggressively too for the logged out experience (fully cached pages for the most part). We really need to move to Amazon ElastiCache as soon as possible so we can stop paying so much. The only reason we're not moving is because there are some restrictions on the network side due to our main app being hosted on Heroku.

        #Caching #RailsCaching

        See more
        Related Comparisons