Я знаю, что это еще один вопрос по этой теме, но я полный новичок в мире NoSQL, поэтому я хотел бы получить некоторые советы. Люди в SO сказали мне, что MySQL может быть плохой идеей для этого набора данных, поэтому я спрашиваю об этом. У меня есть много данных, в следующем формате:MongoDB или CouchDB или что-то еще?
ТИПА 1
ID1: String String String ...
ID2: String String String ...
ID3: String String String ...
ID4: String String String ...
, который я надеюсь, чтобы преобразовать в нечто вроде этого:
ТИПА 2
ID1: String
ID1: String
ID1: String
ID1: String
ID2: String
ID2: String
Это самый неэффективный способ, но мне нужно иметь возможность искать как ключ, так и v ALUE. Например, мои запросы будут выглядеть так:
- Возможно, мне нужно знать, что содержит все строки, заданные идентификатором, а затем пересекают список с другим списком, полученным для другого идентификатора.
- я, возможно, необходимо знать, что все идентификаторы содержат заданную строку
Я хотел бы, чтобы достичь этой цели без преобразования типа 1 в 2 типа из-за требований отвесных пространства, но хотелось бы знать, если любой из MongoDB или CouchDB или что-то еще (кто-то предложил NoSQL, так начал Googling и нашел, что эти два очень популярны) поможет мне в этой ситуации. Я могу кластер из 14 узлов, который я могу использовать, но хотел бы получить некоторые советы, по которым одна из них является подходящей базой данных для этой утилиты. Какие-либо предложения?
Несколько лишних вещей:
- вход будет в основном статическим. Я создам новые данные, но не буду изменять какие-либо существующие данные.
- Идентификатор составляет 40 байт в длину, тогда как строки около 20 байт
Сколько идентификаторов и строк на идентификатор вы ожидаете? – methodin
@methodin: Per ID может быть около 10 - 80000 строк. – Legend
@methodin: О, а также, в Type-1 у меня около 2 миллионов записей. Если я конвертирую это в Type-2, число будет равным 4 миллиардам. – Legend