Couchbase Server comes in 3 main editions – Open Source Edition, Community Edition and Enterprise Edition. Let’s demystify how each edition is distinct and how each serves the needs of different set of users.
What is the Open Source Edition?
Open Source Edition (OSE) is free and gives you access to the open source code to build your custom Couchbase Server. If you are the kind that likes to tinker with the code, contribute to the core of our product, build a customized set
of capabilities for yourself and you are happy supporting yourself, open source edition is for you!
Many moons ago, Couchbase Server began as an amalgamation of CouchDB and Membase as an open source project to create a modern database for the web era. The Couchbase Server open source project is a platform for innovation. Open source project continues
to serve as the foundation for both the community edition and the enterprise edition. OSE is available under the Apache License 2.0. OSE allows endless customizations. However OSE comes with no support or guarantees, as we cannot validate
these customized builds.
– Visit Open Source Projects Page For Details on Couchbase Open Source Projects – |
By the way, you don’t have to check-in code to contribute to Couchbase Server. There are many ways you can contribute: Reporting issues to us or giving us feedback on our
products by posting to forums or clicking the “feedback” button on documentation to tell us what
you think, all help a ton! You can find our code github.com/couchbase, bug reports on our JIRA and our documentation in github.com/docs-cb4.
What is Community Edition?
Community Edition (CE) is free as well and gives you a set of binaries to run with your application. If you are building a simple application that does not need more than the basic availability, performance, scale, tooling, security
capabilities and community support through our forums, this is the edition for you. Documentation, mailing lists, and forums provide support for the Couchbase user community to help troubleshoot issues and answer questions.
One important principle for CE and EE is to ensure full portability of applications between two editions. The portability ensure that an application running on EE should simply transition to CE and visa versa, without application code
changes!
CE is built from the open source and its versions are aligned with the versions of Couchbase Server Enterprise Edition. There are no constraints on using these binaries in production systems. However CE lacks advanced features (we’ll detail
these under Enterprise Edition section), latest fixes and full test cycle enterprise edition goes through. Community edition comes out at the same time as Enterprise Edition with major releases (3.0 and 4.0), However minor versions of CE are
delayed a few months – 4.1 CE for example will release >6 months after 4.1 Enterprise Edition (EE).
– Download Community Edition for Free – |
What is the Enterprise Edition?
Enterprise Edition (EE) represents the latest, most stable, production-ready release of Couchbase Server. If you are running commercial production systems we recommend running EE. EE provides full range of availability, performance, scalability, tooling
and security capabilities and includes the latest quality improvements. EE subscribers get hot-fixes for issues you or others have experienced in production.
EE requires a paid subscription for production use. However, EE can be used in development and test environments for free until production nodes are deployed. EE contains some unique features that make it the best fit for large production deployments running in data centers or a public cloud
infrastructure. Each version comes with a refreshed list of capabilities on CE and EE capabilities. I’ll take the upcoming 4.5 version to detail the differences for this post:
– Download Enterprise Edition for Free for Development and Test Purposes – |
Software Updates and Support:
The following software updates and support capabilities are only available in EE:
- Frequent Releases with Quality Improvements: Couchbase Server Enterprise Edition ships frequent updates to the product with latest feature enhancements and quality improvements. Community Edition releases run behind Enterprise
Edition by several months. - Worldwide 24×7 Support: Customers can only get official 24×7 support worldwide for Couchbase Server Enterprise Edition.
- Patches and Maintenance Updates: Couchbase Server quality is continuously improved with maintenance releases and patches. Enterprise Edition customers can receive frequent maintenance releases and patches for quality issues they
experience. Community edition does not receive these updates. - Proactive Services: Enterprise Edition customers can receive proactive services from Couchbase for sizing and capacity planning for production deployments, data model and code reviews and architecture reviews for applications.
High Availability and Disaster Recovery (HA/DR)
- Basic HA/DR is available in both CE and EE. Basic HA/DR includes, Intra-Cluster Replication, Auto Failover, Online Rebalance, basic Cross Data Center Replication (XDCR), basic Backup and Restore
- Advanced Availability is only available in EE. Advanced capabilities here include the following capabilities;
- Filtering Replication with Cross Data-Center Replication: Interactive applications use XDCR to improve data locality by deploying data closer to the users geographies. With XDCR, customers in Asia vs customers in US can
have local copies of the relevant data in their regional data centers. XDCR with Filtering ensure only the relevant data is carried between clusters across the wide area network (WAN). This improves replication efficiency and saves bandwidth
across WAN. Ability to replicate data selectively with XDCR Filtering between multiple Couchbase Server clusters is included in only Enterprise Edition. - Rack/Availability Zone Awareness: Administrators can use Rack and Zone Awareness (server groups) in a Couchbase Server deployment to ensure smart placements of replicas across racks and availability zones. Rack and Zone
Awareness with Couchbase Server places replicas smartly to protect against rack or availability-zone failures in public or private cloud deployment. This protection is only available in the Enterprise Edition. - High Performance Enterprise Backup and Restore: Big data applications store many TBs of data and backup and restore operations can be time consuming. With high-performance enterprise backup restore tool, administrators
can back up and restore data at a much higher pace and minimize downtime and improve business continuity and disaster recovery. Enterprise backup and restore tool is only included in the Enterprise Edition. - Incremental and Cumulative Backup and Restore: With large databases it is important to be able to perform backups and restores incrementally to minimize the restore time and efficiently archiving backups. Incremental
and cumulative backups and restores allow creating backup chains and are only available in Enterprise Edition.
- Filtering Replication with Cross Data-Center Replication: Interactive applications use XDCR to improve data locality by deploying data closer to the users geographies. With XDCR, customers in Asia vs customers in US can
Security and Compliance
- Basic security capabilities are available in both CE and EE. Basic security includes the build-in account manager.
- Advanced security capabilities are only included in EE. Advanced security include the following capabilities.
- Role Based Access Control: Administrators in Couchbase Server can be restricted to specific roles that can manage nodes, buckets, security administration and more. Only the Enterprise
Edition comes with role based access control. - LDAP Integrated Account Management: Couchbase Server can be integrated with central account management systems within the enterprise through LDAP. Only Enterprise Edition comes with integration for LDAP.
- Encrypted Administrative Access: Couchbase Server administrators can use encrypted communication for managing public and private cloud deployments for complying with security requirements. Only Enterprise Edition comes
with encrypted communication capabilities for cluster administration. - Encrypted Data and Query Access: Couchbase Server applications can use encrypted communication for data access and queries for complying with security requirements. Only Enterprise Edition comes with encrypted communication
capabilities for query and data access. - Encrypted Cross Data Center Replication: Couchbase Server applications using XDCR replication typically use shared network infrastructure across data centers. Cross data-center replication can use encrypted communication
for complying with security requirements. Only Enterprise Edition comes with encrypted communication capabilities for XDCR. - Encryption with x509 Certificates: Couchbase Server encryption can be managed with built in certificates or with custom certificates from other certificate authorities. Only Enterprise Edition can use custom public or
private certificate authorities for encryption of communication - Security Auditing: To comply with security requirements and rules, Couchbase Server provides audit trails for all administrative actions. Only Enterprise Edition comes with auditing capabilities.
- Role Based Access Control: Administrators in Couchbase Server can be restricted to specific roles that can manage nodes, buckets, security administration and more. Only the Enterprise
Data Access Programmability
- One important principle for CE and EE is to ensure full portability of applications between two editions. Data access programmability ensure that an application running on EE should simply transition to CE without code changes and visa versa. The differences on the data access path mainly reside on performance of data access (data access performance, indexing and concurrent query execution etc). Thus,
all of the following data access programmability capabilities are available to both CE and EE.- Core Data Access APIs (Get/Set Operations)
- Tunable Consistency with Queries (with Staleness Setting):
- Tunable Durability (with Persistence and Replication):
- SQL-like Queries with N1QL:
- Query and Indexing with Map Reduce Views, Spatial Views Standard Global Secondary Indexes (note: An advanced storage mode option: Memory Optimized Global Secondary Indexes (MOI), provide high performance indexing for high performance
queries and only comes with EE (detailed later)) - Native SDKs : C, C++, C#, Node.js, Java, Phyton, PHP and others.
Administration and Development Tools
- Basic administration and development tooling is available in both EE and CE. Basic tooling include Visual Web Console for Development and Administration, Programmable REST API Access, Programmable Command Line Tools (CLI)
- Advanced administration and development tooling is only available in EE. Advanced tooling include the following capabilities:
- Query Editing with Smart Auto-complete: Auto-complete provide simplified query editing experience while developing queries. Only Enterprise Edition comes built in with query editor with auto-complete.
- Smart Schema Inference for Document Data: JSON documents in Couchbase Server provide great flexibility without schema management headache that is common in relational databases. With smart Schema Inference and INFER command,
developers can easily discover schema including data model, data types and data distribution. Only Enterprise Edition comes with smart schema inference:
Performance and Scaling
Advanced performance and scalings capabilities listed below are only available in EE.
- High Performance Concurrent Query Execution: Couchbase Server query service achieves great query throughput and query latency by taking advantage of large number of queries concurrently and by parallelizing query execution across
multiple cores. Only Enterprise Edition comes with full parallelism and concurrency support. Community edition can only be deployed in homogeneous deploy model and comes with limited concurrency and parallelism (max parallelism can be 4) on each
node. - Query and Indexing with Memory-Optimized Global Secondary Indexes: Memory-optimized global secondary indexes provide much faster indexing and query performance for big data applications. Only Enterprise Edition comes with memory-optimized
indexes for N1QL. - Multi-dimensional Scaling – Independent Scalability: Couchbase Server comes with built in services to support independent scaling of various distinct workloads. Core data operations, indexing, search and query execution can be
deployed across all nodes or can be deployed into independent zones within the same cluster. Independent deployment of services achieves both preventing interference between services and independent scaling of each service. Administrators can
pick the right hardware for each independent zone within the same cluster to add more memory for indexing and query execution or o provide higher horse-power for disk IO for fast data access. Only Enterprise Edition comes with the option to deploy
services independently. Both Enterprise and Community Edition comes with the ability to deploy all services to all nodes homogeneously (a.k.a homogeneous scaling).
Here is the full table of capabilities detailed for CE and EE with the upcoming Couchbase Server version 4.5:
You can find the table detailing the capabilities on edition pages of documentation for each version:
- 4.5: http://developer.couchbase.com/documentation/server/4.5/introduction/editions.html
- 4.0 : http://developer.couchbase.com/documentation/server/4.0/introduction/editions.html
- 3.0: http://docs.couchbase.com/admin/admin/editions.html
and so on.
As the development team, we are open to listening to feedback on this model. If you have any thoughts to share, drop us a line below in the comment section.
Happy Hacking
-cihan