You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+4-6Lines changed: 4 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ Iggy provides **exceptionally high throughput and performance** while utilizing
32
32
33
33
This is **not yet another extension** running on top of existing infrastructure, such as Kafka or SQL database.
34
34
35
-
Iggy is a persistent message streaming log **built from the ground up** using low-level I/O for speed and efficiency.
35
+
Iggy is a persistent message streaming log **built from the ground up** using low-level I/O with **thread-per-core shared nothing architecture**, `io_uring` and `compio`for maximum speed and efficiency.
36
36
37
37
The name is an abbreviation for the Italian Greyhound - small yet extremely fast dogs, the best in their class. See the lovely [Fabio & Cookie](https://www.instagram.com/fabio.and.cookie/) ❤️
38
38
@@ -42,12 +42,13 @@ The name is an abbreviation for the Italian Greyhound - small yet extremely fast
42
42
43
43
-**Highly performant**, persistent append-only log for message streaming
44
44
-**Very high throughput** for both writes and reads
45
-
-**Low latency and predictable resource usage** thanks to the Rust compiled language (no GC)
45
+
-**Low latency and predictable resource usage** thanks to the Rust compiled language (no GC) and `io_uring`.
46
46
-**User authentication and authorization** with granular permissions and Personal Access Tokens (PAT)
47
47
- Support for multiple streams, topics and partitions
48
48
- Support for **multiple transport protocols** (QUIC, TCP, HTTP)
49
49
- Fully operational RESTful API which can be optionally enabled
50
50
- Available client SDK in multiple languages
51
+
-**Thread per core shared nothing design** together with `io_uring` guarantee the best possible performance on modern `Linux` systems.
51
52
-**Works directly with binary data**, avoiding enforced schema and serialization/deserialization overhead
52
53
- Custom **zero-copy (de)serialization**, which greatly improves the performance and reduces memory usage.
53
54
- Configurable server features (e.g. caching, segment size, data flush interval, transport protocols etc.)
@@ -98,7 +99,6 @@ We do also publish edge/dev/nightly releases (e.g. `0.5.0-edge.1` or `apache/igg
98
99
99
100
## Roadmap
100
101
101
-
-**Shared-nothing** design and **io_uring** support (PoC on experimental branch, WiP on the main branch)
102
102
-**Clustering** & data replication based on **[VSR](http://pmg.csail.mit.edu/papers/vr-revisited.pdf)** (on sandbox project using Raft, will be implemented after shared-nothing design is completed)
103
103
104
104
---
@@ -451,9 +451,7 @@ These benchmarks would start the server with the default configuration, create a
451
451
452
452
For example, to run the benchmark for the already started server, provide the additional argument `--server-address 0.0.0.0:8090`.
453
453
454
-
Depending on the hardware, transport protocol (`quic`, `tcp` or `http`) and payload size (`messages-per-batch * message-size`) you might expect **over 5000 MB/s (e.g. 5M of 1 KB msg/sec) throughput for writes and reads**.
455
-
456
-
**Iggy is already capable of processing millions of messages per second at the microseconds range for p99+ latency**, and with the upcoming optimizations related to the io_uring support along with the shared-nothing design, it will only get better.
454
+
**Iggy is already capable of processing millions of messages per second at the microseconds range for p99+ latency** Depending on the hardware, transport protocol (`quic`, `tcp` or `http`) and payload size (`messages-per-batch * message-size`) you might expect **over 5000 MB/s (e.g. 5M of 1 KB msg/sec) throughput for writes and reads**.
457
455
458
456
Please refer to the mentioned [benchmarking platform](https://benchmarks.iggy.apache.org) where you can browse the results achieved on the different hardware configurations, using the different Iggy server versions.
0 commit comments