p****6 发帖数: 724 | 1 One design question from a big data start up.
Suppose you have a big file with 1 billion of record, each entry is a key
value pair of name and numbers. names can be duplicate, but numbers are
unique and names are sorted in the file.
Give you 100 machine, design a way to query records by number, and modify/
insert a record. |
r****s 发帖数: 1025 | 2 这么简单的问题
你把1b的number hash到100台机器上,然后建立一个hash value-> host的mapping在
master node不就行了?
如果复杂一点,这1b还能继续grow, 自己找consistent hashing看看。 |
m*****l 发帖数: 95 | 3 你这么做显然没考虑很多东西。比如分布式系统的冗余问题。
【在 r****s 的大作中提到】 : 这么简单的问题 : 你把1b的number hash到100台机器上,然后建立一个hash value-> host的mapping在 : master node不就行了? : 如果复杂一点,这1b还能继续grow, 自己找consistent hashing看看。
|
w****r 发帖数: 15252 | |
p****6 发帖数: 724 | 5 这道题的难点是query by value 而不是key, 但是要求增的时候key是排序的。
这是一个open question,集思广益。 |
g*****g 发帖数: 34805 | 6 Put it in C* DB, number as key, done. Want redundancy? Use RF>1, done. |
z****e 发帖数: 54598 | 7 看看column-based nosql db
天生就是按value做index的
比如楼上说的cassandra还有hbase
【在 p****6 的大作中提到】 : 这道题的难点是query by value 而不是key, 但是要求增的时候key是排序的。 : 这是一个open question,集思广益。
|
c********l 发帖数: 8138 | 8 what's C* DB?
【在 g*****g 的大作中提到】 : Put it in C* DB, number as key, done. Want redundancy? Use RF>1, done.
|
c********r 发帖数: 107 | |
x*****n 发帖数: 195 | 10 hbase只有对key做index。你想快速搜索别的column需要solr或者elasticsearch做的,
或者solr/elasticsearch混合hbase做。
cassandra不了解
【在 z****e 的大作中提到】 : 看看column-based nosql db : 天生就是按value做index的 : 比如楼上说的cassandra还有hbase
|
l*****t 发帖数: 2019 | 11 靠谱。
啥出的这种缺德的面试题呀。
【在 x*****n 的大作中提到】 : hbase只有对key做index。你想快速搜索别的column需要solr或者elasticsearch做的, : 或者solr/elasticsearch混合hbase做。 : cassandra不了解
|