Skip to content

ankushbehera/craft-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Problem

Craft demo details:

We have a requirement to index and query data of the form

{
id : <128bit UTF-8 string>,
attributes: [
{
key : <variable length string not exceeding 256>,
value: <variable length value not exceeding 256>
}],
timestamp : <epoch in microseconds>
}

We need to store and retrieve information to support queries like:

  • GET /mydata/{timestamp}/{key}/{value} should return a list of ids matching the {key, value, timestamp }

    • Assume only one key/val will be supplied always.
    • If the data is not present, return appropriate status code.
    • Limit the length of the returned list to 500
  • PUT operation on a document with variable number of attributes for a given id.

    • No updates allowed or update will create a new document

We need a system that can process

  • About 10 million docs per second.
  • query load of about 100 requests per second.
  • Near realtime

Please come up with a low-level design/algorithm to address the above challenge.

Solution

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors