blob: b658912881d5814129eef60a61e6802f3cf8c399 [file]
// Licensed to the Apache Software Foundation (ASF) under one or more
// contributor license agreements. See the NOTICE file distributed with
// this work for additional information regarding copyright ownership.
// The ASF licenses this file to You under the Apache License, Version 2.0
// (the "License"); you may not use this file except in compliance with
// the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
= Apache Apache Ignite 3
Apache Ignite 3 is a distributed database for high-performance computing with in-memory speed.
Apache Ignite 3 brings a number of improvements compared to Apache Ignite 2:
* **Industry-standard libraries**: Apache Ignite 3 switches from custom libraries used in Apache Ignite 2 towards industry-standard libraries, bringing the latest developments from all over the world to your environment.
- SWIM replaces Ring and Discovery protocols, bringing even better stability and performance on large topologies.
- Raft replaces Ignite replication, providing an improved consensus algorithm, out of the box split brain protection and much more.
- SQL Calcite replaces H2 engine used in Apache Ignite 2.
* **Pluggable storages**: With Apache Ignite 3, you can choose the best storage for your needs. With this beta release you can choose between page memory and RocksDB, and more options may be added later.
* **New transaction protocol**: Apache Ignite 3 provides a new custom protocol for handling transactions, built up on previous experience with Apache Ignite 2. It brings multiple features such as read-only transactions, SQL transactions and much more.
* **Dynamic configuration**: HOCON configuration replaces XML-based configuration of Apache Ignite 2. All configuration properties can now be changed at runtime as well, by using API or command-line tool.
* **Ignite CLI tool**: The new Apache Ignite tool that functions as a single sign-on for any operational, management, and development needs.
* See a link:https://cwiki.apache.org/confluence/display/IGNITE/Proposals+for+Ignite+3.0[full list of improvements,window=_blank].
== Known Beta 1 Limitations
Some features are not fully implemented in beta. These features are expected to be working in full release:
- Scaling the cluster is not fully implemented. You can add tables to the topology or remove them from it, but not scale up an existing table.
- Operations performed on unstable topology are not guaranteed to be reliable.
- Restarting the running cluster is not fully implemented - restart under load is not reliable, additionally the restart must be performed in correct order - first stopping partition nodes, then metastore, and finally cluster management group, and bringing them up in reverse order.
- Database vacuuming is not implemented.
== New in Beta 1
Apache Ignite 3 Beta 1 release includes the following features:
- RPM and DEB packages: simplified installation and node management
with system services.
- SQL Transactions.
- Transactional Protocol: improved locking model, multi-version based
lock-free read-only transactions.
- Storage: A number of improvements to memory-only and on-disk engines
based on Page Memory.
- Indexes: Basic functionality, hash and sorted indexes.
- Client logging: A LoggerFactory may be provided during client
creation to specify a custom logger for logs generated by the client.
- Metrics framework: Collection and export of cluster metrics.
- Client's Partition Awareness: Clients are now aware of data
distribution over the cluster nodes which helps avoid additional
network transmissions and lowers operations latency.
- C++ client: Basic C++ client, able to perform operations on data.
- Autogenerated values: now a function can be specified as a default
value generator during a table creation. Currently only
gen_random_uuid is supported.