dk-lockdown / 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.

Home Page:https://www.icefiredb.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IceFireDB

IceFireDB - [ WEB2 + WEB3 ]

test build FOSSA Status

IceFireDB is a database built for web3 and web2,The core mission of the project is to help applications quickly achieve decentralization and support the immutability of data. At present, the storage layer supports various storage methods such as disk, OSS, and IPFS. The protocol layer currently supports RESP, and will support SQL and GraphQL in the future. A blockchain fusion layer based on Ethereum and EOS is under construction to integrate with higher-level decentralized computing platforms and applications as well as identity, financial assets, intellectual property and sidechain protocols. IceFireDB strives to fill the gap of the decentralized stack, making web3 application data storage more convenient and making it easier for web2 applications to achieve decentralization and data immutability.

project_purpose

  1. High performance
  2. Distributed consistency
  3. Reliable LSM disk storage
  4. Support OSS storage engine
  5. Based on IPFS decentralized storage, build a persistent data distributed storage layer.(beta version)
  6. Build a blockchain mechanism based on Ethereum and quorum.(Working hard)
  7. Support kv metadata layer and mixed storage structure of hot and cold.
  8. More advanced cache implementation, faster LSM persistent storage(Source of ideas: https://dl.acm.org/doi/10.1145/3448016.3452819
  9. The web2 environment supports a highly tamper-proof logging system in non-blockchain mode,For data manipulation, accuracy and integrity protection is provided.

Architecture

IceFireDB_Architecture

Command support

1. Strings

  • APPEND
  • BITCOUNT
  • BITOP
  • BITPOS
  • DECR
  • DECRBY
  • DEL
  • EXISTS
  • GET
  • GETBIT
  • SETBIT
  • GETRANGE
  • GETSET
  • INCR
  • INCRBY
  • MGET
  • MSET
  • SET
  • SETEX
  • SETEXAT
  • SETRANGE
  • EXPIRE
  • EXPIREAT
  • TTL

2. Hashes

  • HSET
  • HGET
  • HDEL
  • HEXISTS
  • HGETALL
  • HINCRBY
  • HKEYS
  • HLEN
  • HMGET
  • HMSET
  • HSETEX
  • HSTRLEN
  • HVALS
  • HCLEAR
  • HMCLEAR
  • HEXPIRE
  • HEXPIREAT
  • HKEYEXIST
  • HTTL

3. Lists

  • RPUSH
  • LPOP
  • LINDEX
  • LPUSH
  • RPOP
  • LRANGE
  • LSET
  • LLEN
  • RPOPLPUSH
  • LCLEAR
  • LMCLEAR
  • LEXPIRE
  • LEXPIREAT
  • LKEYEXISTS
  • LTRIM
  • LTTL

4. Sorted Sets

  • ZADD
  • ZCARD
  • ZCOUNT
  • ZREM
  • ZCLEAR
  • ZRANK
  • ZRANGE
  • ZREVRANGE
  • ZSCORE
  • ZINCRBY
  • ZREVRANK
  • ZRANGEBYSCORE
  • ZREVRANGEBYSCORE
  • ZREMRANGEBYSCORE
  • ZREMRANGEBYRANK

5. Sets

  • SADD
  • SCARD
  • SDIFF
  • SDIFFSTORE
  • SINTER
  • SINTERSTORE
  • SISMEMBER
  • SMEMBERS
  • SREM
  • SUNION
  • SUNIONSTORE
  • SCLEAR
  • SMCLEAR
  • SEXPIRE
  • SEXPIREAT
  • STTL
  • SPERSIST
  • SKEYEXISTS

6. System cmd

  • INFO
  • FLUSHALL
  • HSCAN
  • SSCAN
  • ZSCAN
  • XSCAN
  • XHSCAN
  • XSSCAN
  • XZSCAN

Performance

corerman@ubuntu:~/DATA/ICODE/GoLang/IceFireDB$ redis-benchmark  -h 127.0.0.1 -p 11001 -n 10000000 -t set,get -c 512 -P 512 -q

SET: 253232.12 requests per second
GET: 2130875.50 requests per second

License

FOSSA Status

Thanks

I stood on the shoulders of giants and did only simple things. Thank you for your attention.

Disclaimers

When you use this software, you have agreed and stated that the author, maintainer and contributor of this software are not responsible for any risks, costs or problems you encounter. If you find a software defect or BUG, ​​please submit a patch to help improve it!

About

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.

https://www.icefiredb.xyz

License:Apache License 2.0


Languages

Language:Go 99.2%Language:Makefile 0.8%