jwarkentin/flaky

用于生成短、固定长度、顺序UUID的模块,非常适合在各种基于树的结构中索引

安装次数: 21,061

依赖者: 1

建议者: 0

安全性: 0

星标: 5

关注者: 2

分支: 1

开放性问题: 2

语言:JavaScript

v0.0.9 2016-12-20 00:07 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:31:41 UTC


README

Node.js模块,用于生成短、固定长度、顺序UUID,非常适合在各种基于树的结构中索引。它可以在服务器/实例之间(即使在同一台机器上的多个实例)无需协调的情况下创建ID,可以放心使用而不会发生冲突,同时仍保持大部分顺序且始终递增。它也抵抗系统时钟可能的大时间跳跃(容忍度取决于您生成10万个ID所需的时间)。

所有Flaky ID都是使用64位数据创建的。Flaky还提供了很大的灵活性,可以让你选择想要的基编码和编码字符集。默认情况下,它会进行基64编码并使用标准字符集。

动机

我想有一个UUID生成器,它可以与常见的数据库索引技术配合使用,以提供索引和查找的最佳性能,同时在空间效率(即短ID)方面也很高效。这是基于我对Elasticsearch BlockTree索引工作原理的理解设计的,如Mike McCandless所解释(http://blog.mikemccandless.com/2014/05/choosing-fast-unique-identifier-uuid.html)。它松散地基于flake ID的概念。在我的基准测试中,这些ID已被证明比Elasticsearch分配的标准ID更快、更高效。它也应该与MySQL的InnoDB索引格式很好地配合使用(尽管我没有测试过)。

要了解更多关于flake ID的信息,请参阅

更具体地针对Elasticsearch,请参阅

API