Our great sponsors
-
IceFireDB
IceFireDB is a database built for web3 and web2. It strives to fill the gap between web2 and web3 with a friendly database experience, making web3 application data storage more convenient, and making it easier for web2 applications to achieve decentralization and data immutability.
-
Tendis
Tendis is a high-performance distributed storage system fully compatible with the Redis protocol.
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
So what "IceFireDB" is:
1. tidwall/uhaha - Raft server
2. tidwall/redcon - Read/write redis protocol
3. ledisdb/ledisdb - Redis-compatible with disk persistence via leveldb
4. syndtr/goleveldb/leveldb - Provides snapshots, other scattered references throughout code
It also includes this seemingly random file below, which seems to implement String/Slice for string/byte using unsafe.Pointer:
-
It depends, yes but ... (not discounting any of the above).
One sees a lot of 3:1 in practice due to the replication factor. If you have 3 copies of the data and the client can read from any node, you get 3x the read performance as having to have a quorum write on two out of three nodes.
To the GP, for a rough swag of what is possible out of given hardware, a combination of FIO and ACT (measures IO latency under a fixed load) is a good start.