Skip to content

Commit

Permalink
Restructure of the introduction page (#1258)
Browse files Browse the repository at this point in the history
Co-authored-by: NataliaIvakina <[email protected]>
Co-authored-by: Reneta Popova <[email protected]>
  • Loading branch information
3 people committed Dec 20, 2023
1 parent 33308d2 commit 15587a6
Showing 1 changed file with 22 additions and 123 deletions.
145 changes: 22 additions & 123 deletions modules/ROOT/pages/introduction.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -36,290 +36,189 @@ Neo4j offers dedicated memory management and memory-efficient operations.
Neo4j is scalable and can be deployed as a standalone server or across multiple machines in a fault-tolerant cluster for production environments.
Other features for production applications include hot backups and extensive monitoring.

There are two editions of Neo4j to choose from, the <<community-edition, _Community Edition_>> and the <<enterprise-edition, _Enterprise Edition_>>.
The Enterprise Edition includes all that Community Edition has to offer, plus extra enterprise requirements such as backups, clustering, and failover capabilities.
== Neo4j editions

There are two editions of self-managed Neo4j to choose from, the Community Edition (CE) and the Enterprise Edition (EE).
The Enterprise Edition includes all that Community Edition offers, plus extra enterprise requirements such as backups, clustering, and failover capabilities.

[[community-edition]]
== Community Edition

Community Edition::
The Community Edition is a fully functional edition of Neo4j, suitable for single-instance deployments.
It has full support for key Neo4j features, such as ACID-compliant transactions, Cypher, and programming APIs.
It fully supports key Neo4j features, such as ACID-compliant transactions, Cypher, and programming APIs.
It is ideal for learning Neo4j, do-it-yourself projects, and applications in small workgroups.


[[enterprise-edition]]
== Enterprise Edition

Enterprise Edition::
The Enterprise Edition extends the functionality of Community Edition to include key features for performance and scalability, such as a clustering architecture and online backup functionality.
Additional security features include role-based access control and LDAP support, for example, Active Directory.
It is the choice for production systems with requirements for scale and availability, such as commercial solutions and critical internal solutions.

[[versioning]]
== Versioning

Neo4j uses semantic versioning (link:{semver-uri}[Semantic Versioning Specification 2.0.0]).
Given a version number `MAJOR.MINOR.PATCH`, the increment is based on:

* `MAJOR` version - incompatible API changes towards the previous `MAJOR` version.
* `MINOR` version - functionality in a backward-compatible manner.
* `PATCH` release - backward-compatible bug fixes.

Neo4j’s fully managed cloud service link:{aura-uri}[Neo4j Aura] uses only `MAJOR` versioning.


== Cypher

Cypher is a declarative query language for graphs.
Neo4j uses the property graph approach, where relationships are stored alongside the data in the model, and not computed at query time.
Cypher is a powerful, graph-optimized query language that understands and takes advantage of, these stored connections.
When trying to find patterns or insights in data, Cypher queries are often much simpler and easier to write than massive SQL JOINs.
Since Neo4j does not have tables, there are no JOINs to worry about.

For more details, see the link:{neo4j-docs-base-uri}/cypher-manual/{page-version}/introduction/[Cypher Manual -> Introduction].


== Interaction

The recommended way of programmatically interacting with the database is either through the official Neo4j Drivers, or through using the link:{neo4j-docs-base-uri}/java-reference/{page-version}/javadocs/[Neo4j Java API].
Neo4j provides an link:{wiki-acid-uri}[ACID]-compliant transactional backend for your applications.


[[intro-drivers]]
=== The official Neo4j Drivers

The official Neo4j Drivers interacts with Neo4j via the link:{bolt-protocol-uri}[Bolt protocol ({bolt-protocol-uri})].

* link:{github-neo4j-neo4j-java-driver}[Neo4j Java Driver]
+
For Spring-powered applications there is also link:{github-spring-projects-spring-data-neo4j}[Spring Data Neo4j].
* link:{github-neo4j-neo4j-javascript-driver}[Neo4j JavaScript Driver]
* link:{github-neo4j-neo4j-python-driver}[Neo4j Python Driver]
* link:{github-neo4j-neo4j-dotnet-driver}[Neo4j .NET Driver]
* link:{github-neo4j-neo4j-go-driver}[Neo4j Go Driver]


[NOTE]
====
See the link:{download-center-drivers}[Neo4j Download Center - Drivers] for more links.
====


=== Other tools

* xref:tools/cypher-shell.adoc[Neo4j Cypher Shell] - Command line tool for Cypher queries. link:{download-center-cyphershell}[Neo4j Download Center - Cypher Shell].
* link:https://neo4j.com/docs/browser-manual/current/[Neo4j Browser] - Interact with Neo4j, create Cypher queries, and basic visualization capabilities.
* link:https://neo4j.com/docs/desktop-manual/current/[Neo4j Desktop] - Developer IDE or Management Environment for Neo4j instances. link:{download-center-desktop}[Neo4j Download Center - Neo4j Desktop].
* link:{bloom-uri}[Neo4j Bloom] - Explore and visualize graph data. link:{download-center-bloom}[Neo4j Download Center - Neo4j Bloom].
It is the choice for production systems with requirements for scale and availability, such as commercial and critical internal solutions.

The following table compares the available key features in both editions:

[[edition-details]]
== Neo4j feature details


=== Neo4j key features

.Key features
.Community Edition vs Enterprise Edition key features
[cols="<60,^20,^20",frame="topbot",options="header"]
|===
| Feature
| Community Edition
| Enterprise Edition

a| link:https://www.gnu.org/licenses/quick-guide-gplv3.html[Open source under GPLv3]
|{check-mark}
|

^s| Native Graph
|
|

| Property graph model
| {check-mark}
| {check-mark}

| Native graph processing & storage
| {check-mark}
| {check-mark}

a| Standard and Aligned store format (xref:tools/neo4j-admin/neo4j-admin-store-info.adoc#neo4j-admin-store-standard[34 Billion Nodes & Relationships])
| {check-mark}
| {check-mark}

a| High_limit (xref:tools/neo4j-admin/neo4j-admin-store-info.adoc#neo4j-admin-store-high-limit[1 Quadrillion Nodes & Relationships])
|
| {check-mark}

| ACID-compliant transactions
| {check-mark}
| {check-mark}

| Cypher graph query language
| {check-mark}
| {check-mark}

| _Slotted_ Cypher runtime
| {check-mark}
| {check-mark}

| _Pipelined_ Cypher runtime (faster)
|
| {check-mark}

| Listing and terminating running queries
|
| {check-mark}

| High-performance caching
| {check-mark}
| {check-mark}

| Cost-based query optimizer
| {check-mark}
| {check-mark}

^s| Clients and APIs
|
|

| Cypher Client
| {check-mark}
| {check-mark}

| Neo4j Browser with syntax highlighting
| {check-mark}
| {check-mark}

| Bolt Protocol
| {check-mark}
| {check-mark}

| Language drivers for C#, Go, Java, JavaScript & Python footnote:sepinstall[Must be downloaded and installed separately.]
| {check-mark}
| {check-mark}

| High-performance native API
| {check-mark}
| {check-mark}

a| APOC 450+ link:https://neo4j.com/docs/apoc/5/[Core Procedures and Functions]
| {check-mark}
| {check-mark}

| Support for Neo4j Graph Data Science Community Edition footnote:sepinstall[]
| {check-mark}
| {check-mark}

| Support for Neo4j Graph Data Science Enterprise Edition footnote:sepinstall[]
|
| {check-mark}

^s| Indexes and constraints
|
|

| Fast writes via native label indexes
| {check-mark}
| {check-mark}

| Composite indexes
| {check-mark}
| {check-mark}

| Full-text node & relationship indexes
| {check-mark}
| {check-mark}

| Property uniqueness constraints
| {check-mark}
| {check-mark}

| Property existence constraints
|
| {check-mark}

| Property type constraints
|
| {check-mark}

| Node and relationship key constraints
|
| {check-mark}

^s| Security
|
|

| Role-based access control
|
| {check-mark}

| Sub-graph access control
|
| {check-mark}

| LDAP and Active Directory integration
|
| {check-mark}

| Kerberos security option
|
| {check-mark}

^s| Data management
|
|

| Offline import
| {check-mark}
| {check-mark}

| Offline incremental import
|
| {check-mark}

| Auto-reuse of space
| {check-mark}
| {check-mark}

| Store copy
|
| {check-mark}

| Offline backup (dump)
| {check-mark}
| {check-mark}

^s| Scale and availability
|
|

| Online back-up and restore
| Online backup and restore
|
| {check-mark}

| Multiple databases (beyond the `system` and default databases)
|
| {check-mark}

| Autonomous clustering
|
| {check-mark}

| Composite databases
|
| {check-mark}

^s| Monitoring and management
|
|

| Endpoints and metrics for monitoring via Prometheus
|
| {check-mark}

| Neo4j Operations Manager
|
| {check-mark}

|===

[[versioning]]
== Versioning

Neo4j uses semantic versioning (link:{semver-uri}[Semantic Versioning Specification 2.0.0]).
Given a version number `MAJOR.MINOR.PATCH`, the increment is based on:

* `MAJOR` version - incompatible API changes towards the previous `MAJOR` version.
* `MINOR` version - functionality in a backward-compatible manner.
* `PATCH` release - backwards-compatible bug fixes.

Neo4j’s fully managed cloud service link:{aura-uri}[Neo4j Aura] uses only `MAJOR` versioning.

0 comments on commit 15587a6

Please sign in to comment.