bahlo / Sonyflake Rs
Licence: other
🃏 A distributed unique ID generator inspired by Twitter's Snowflake.
Stars: ✭ 91
Programming Languages
rust
11053 projects
Labels
Projects that are alternatives of or similar to Sonyflake Rs
monoton
Highly scalable, single/multi node, sortable, predictable and incremental unique id generator with zero allocation magic on the sequential generation
Stars: ✭ 21 (-76.92%)
Mutual labels: snowflake
Mindsdb
Predictive AI layer for existing databases.
Stars: ✭ 4,199 (+4514.29%)
Mutual labels: snowflake
Winterlayout
WinterLayout with the help of y = a*sin(x) function
Stars: ✭ 25 (-72.53%)
Mutual labels: snowflake
growthbook
Open Source Feature Flagging and A/B Testing Platform
Stars: ✭ 2,342 (+2473.63%)
Mutual labels: snowflake
Distributedid
基于twitter的雪花算法(SnowFlake)来产生分布式ID,支持SDK、HTTP方式接入
Stars: ✭ 273 (+200%)
Mutual labels: snowflake
Neural
高并发、高可用的微服务架构中的分布式治理利刃,提供了分布式限流、服务降级、熔断器、重试器等容错特性,并提供了SPI、过滤器和JWT等功能。此外还提供了很多小的黑科技(如:IP黑白名单、UUID加强版、Snowflake和大并发时间戳获取等)。
Stars: ✭ 373 (+309.89%)
Mutual labels: snowflake
tsid-creator
A Java library for generating Time Sortable Identifiers (TSID).
Stars: ✭ 16 (-82.42%)
Mutual labels: snowflake
Sql Runner
Run templatable playbooks of SQL scripts in series and parallel on Redshift, PostgreSQL, BigQuery and Snowflake
Stars: ✭ 68 (-25.27%)
Mutual labels: snowflake
dbd
dbd is a database prototyping tool that enables data analysts and engineers to quickly load and transform data in SQL databases.
Stars: ✭ 30 (-67.03%)
Mutual labels: snowflake
Snowflake
❄️ A React-Native Android iOS Starter App/ BoilerPlate / Example with Redux, RN Router, & Jest with the Snowflake Hapi Server running locally or on RedHat OpenShift for the backend, or a Parse Server running locally or remotely on Heroku
Stars: ✭ 4,576 (+4928.57%)
Mutual labels: snowflake
IdGenerator
💎迄今为止最全面的分布式主键ID生成器。 💎优化的雪花算法(SnowFlake)——雪花漂移算法,在缩短ID长度的同时,具备极高瞬时并发处理能力(50W/0.1s)。 💎原生支持 C#/Java/Go/Rust/C/SQL 等多语言,且提供 PHP 扩展及 Python、Node.js、Ruby 多线程安全调用动态库(FFI)。💎支持容器环境自动扩容(自动注册 WorkerId ),单机或分布式唯一IdGenerator。💎顶尖优化,超强效能。
Stars: ✭ 548 (+502.2%)
Mutual labels: snowflake
Tbls
tbls is a CI-Friendly tool for document a database, written in Go.
Stars: ✭ 940 (+932.97%)
Mutual labels: snowflake
pre-commit-dbt
🎣 List of `pre-commit` hooks to ensure the quality of your `dbt` projects.
Stars: ✭ 149 (+63.74%)
Mutual labels: snowflake
Sqlpad
Web-based SQL editor run in your own private cloud. Supports MySQL, Postgres, SQL Server, Vertica, Crate, ClickHouse, Trino, Presto, SAP HANA, Cassandra, Snowflake, BigQuery, SQLite, and more with ODBC
Stars: ✭ 4,113 (+4419.78%)
Mutual labels: snowflake
Locopy
locopy: Loading/Unloading to Redshift and Snowflake using Python.
Stars: ✭ 73 (-19.78%)
Mutual labels: snowflake
Redissnowflake
Twitter's Snowflake based ID generation as a redis module
Stars: ✭ 66 (-27.47%)
Mutual labels: snowflake
sonyflake-rs
A distributed unique ID generator inspired by Twitter's Snowflake.
This is a Rust implementation of the original sony/sonyflake, which is written in Go.
A Sonyflake ID is composed of
39 bits for time in units of 10 msec
8 bits for a sequence number
16 bits for a machine id
Install
Add the following to your Cargo.toml
:
[dependencies]
sonyflake = "0.1"
Quickstart
use sonyflake::Sonyflake;
let mut sf = Sonyflake::new().unwrap();
let next_id = sf.next_id().unwrap();
println!("{}", next_id);
Benchmarks
Benchmarks were run on a MacBook Pro (15-inch, 2017) with a 2,8GHz i7 and 16 GB memory.
Run them yourself with cargo bench
.
test bench_decompose ... bench: 1,066 ns/iter (+/- 132)
test bench_new ... bench: 738,129 ns/iter (+/- 318,192)
test bench_next_id ... bench: 37,390 ns/iter (+/- 499)
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].