Initial re-work of documentation

This commit is contained in:
Neil Clifford
2017-09-29 10:47:50 +01:00
parent 7b96a9a4dc
commit b23a2cf152
2 changed files with 27 additions and 27 deletions
+1 -1
View File
@@ -84,7 +84,7 @@ persistence to disk, only multi-process access, choose the file to be mounted on
---
==== You must configure `.entries(entries)` - the supposed `ChronicleMap` size.
==== Configure `.entries(entries)`
Try to configure the `entries` so that the created Chronicle Map is going to serve about 99% requests being less or equal than this number of entries in size.
+26 -26
View File
@@ -1,4 +1,4 @@
= Difference between Chronicle Map 2 and 3
= Updates included in Chronicle Map 3
Neil Clifford
:toc: macro
:toclevels: 1
@@ -8,38 +8,38 @@ Neil Clifford
toc::[]
Changes between Chronicle Map 3 and the previous Chronicle Map version are detailed below:
== Functional changes
- Chronicle Map 3 has [formal data store specification](spec), that verbalizes [the guarantees
which the data store provides](spec/1-design-goals.md#guarantees-1) and gives a way to verify those
guarantees.
- Chronicle Map 3 has link::https://github.com/OpenHFT/Chronicle-Map/blob/doco_refresh/spec[formal data store specification] that specifies link::https://github.com/OpenHFT/Chronicle-Map/blob/doco_refresh/spec/1-design-goals.md#guarantees-1[the guarantees
which the data store provides] and gives a way to verify those guarantees.
- Added support for multi-key queries.
- "Listeners" mechanism fully reworked, see the [Behaviour Customization](#behaviour-customization)
section. This has a number of important consequences, most notable is:
- Possibility to define replication eventual-consistency strategy, different from "last write
wins", e. g. any state-based CRDT.
- "Stateless clients" functionality (i. e. remote calls) is moved to [Chronicle Engine](
https://github.com/OpenHFT/Chronicle-Engine).
- Replication is done via [Chronicle Engine](https://github.com/OpenHFT/Chronicle-Engine).
- Chronicle Map 2 has hard creation-time limit on the number of entries storable in a Chronicle
Map. If the size exceeds this limit, an exception is thrown. In Chronicle Map 3, this limitation
is removed, though the number of entries still has to be configured on the Chronicle Map creation,
exceeding this configured limit is possible, but discouraged. See the [Number of entries
configuration](#number-of-entries-configuration) section.
- Chronicle Map 3 supports [entry checksums](#entry-checksums) that allows to detect data
corruption, hence brings additional safety.
- Chronicle Map 3 allows to [recover](#recovery) after failures and corruptions.
- A number of smaller improvements and fixes.
- "Listeners" mechanism fully reworked; see <<CM_Tutorial_Behaviour.adoc#,Behaviour Customization>>. This has a number of important consequences, most notable is:
** it is now possible to define "eventual-consistency" replication strategy, different from "last write wins"; any state-based CRDT.
- "Stateless clients" functionality (remote calls) is moved to https://github.com/OpenHFT/Chronicle-Engine[Chronicle Engine].
- Replication is performed using https://github.com/OpenHFT/Chronicle-Engine[Chronicle Engine].
- Earlier versions of Chronicle Map had hard creation-time limits on the number of entries storable in a Chronicle Map. If the size exceeded this limit, an exception is thrown. +
In Chronicle Map 3, this limitation is removed. The number of entries still has to be configured when the Chronicle Map is created, Exceeding this configured limit is possible, but discouraged. +
For more information, see the <<Configure `.entries(entries)`>> section.
- Chronicle Map 3 supports <<CM_Tutorial.adoc#entry-checksums,entry checksums>> that enables detection of data corruption, providing additional safety.
- Chronicle Map 3 allows <<CM_Tutorial.adoc#Recovery,recovery>> after failures and corruptions.
- Minor improvements and fixes.
== Non-functional changes
- Chronicle Map 3 requires Java version 8 or newer, while Chronicle Map 2 supports Java 7.
- Chronicle Map 3 has [versioning policy](docs/versioning.md) and [compatibility policy](
docs/compatibility.md). Chronicle Map 2 doesn't have such documents.
- Chronicle Map 3 requires Java version 8, or newer.
If you use Chronicle Map 2, you might be looking for [Chronicle Map 2 Tutorial](
https://github.com/OpenHFT/Chronicle-Map/tree/2.1#contents) or [Chronicle Map 2 Javadoc](
http://www.javadoc.io/doc/net.openhft/chronicle-map/2.3.9/).
- Chronicle Map 3 has <<CM_Versioning.adoc#, versioning policy>> and <<CM_Compatibility.adoc#,compatibility policy>>.
'''