@miup/nest-snow-flake
v3.0.7
Published
Snowflake is a term that can refer to different concepts depending on the context. In computing and technology, it might refer to:
Downloads
4
Readme
what is Snowflake
Snowflake is a term that can refer to different concepts depending on the context. In computing and technology, it might refer to:
- 1.Snowflake ID: A unique identifier generated by an algorithm called Snowflake, which Twitter originally developed for generating unique IDs for tweets. The Snowflake algorithm generates a 64-bit ID based on the time in milliseconds since a custom epoch, a machine ID, a data center ID, and a sequence number. This ensures that IDs are unique across distributed systems without the need for a central authority to issue them. The structure typically includes a timestamp, which ensures chronological ordering, and some bits allocated for a worker ID and a sequence number to handle generation of multiple IDs within the same millisecond.
- 2.Snowflake Schema: In the context of databases, particularly in data warehousing, a Snowflake Schema is a logical arrangement of tables in a multidimensional database such that the data is split into additional tables. This schema is an extension of the Star Schema, where each point of the star branches into more points. It normalizes the data to eliminate redundancy and improve data integrity but can result in more complex queries and require more joins.
- 3.Snowflake Inc.: A cloud-based data warehousing company that offers a cloud-based data storage and analytics service, also known as Snowflake. The platform allows corporate users to store and analyze data using cloud-based hardware and software. Snowflake's data platform is not built on any existing database technology or “big data” software platforms such as Hadoop. Instead, it uses a new SQL database engine with a unique architecture designed for the cloud.
Each of these uses of "Snowflake" applies to different areas of technology and serves different purposes, from generating unique identifiers in distributed systems to organizing data in databases, to a cloud-based service for data warehousing.
register SnowFlakeModule
SnowFlakeModule.register({
datacenterId: 1,
machineId: 1,
})
dynamic
SnowFlakeModule.registerSync({
useFactory: (config: ConfigService): SnowFlakeConfig => {
return {
datacenterId: config.getNumber('snowflake.workerId'),
machineId: config.getNumber('snowflake.dataCenterId'),
};
},
inject: [ConfigService],
})
how to use
import { Injectable } from '@nestjs/common';
@Injectable
export class TestService {
constructor(
private idGenerator: SnowFlakeIdGenerator,
) {
}
async build(){
const idNumber:bigint = this.idGenerator.generateIdNumber();
const idString:string = this.idGenerator.generateId();
}
}