id generator based on 'snowflake'