Скажем, у меня есть традиционная структура SQL, такая как:
create table tags (id PRIMARY KEY int, tag varchar(100));
create table files (id PRIMARY KEY int, filename varchar(500));
create table tagged_files (tag_id int, file_id int);
Я добавляю несколько тегов:
insert into table tags (tag) values ('places');
insert into table tags (tag) values ('locations');
И некоторые файлы:
insert into table files (filename) values ('/tmp/somefile');
insert into table files (filename) values ('/tmp/someotherfile');
изатем пометьте эти файлы:
insert into table tagged_files (tag_id, file_id) values (1,1);
insert into table tagged_files (tag_id, file_id) values (1,2);
Затем я могу найти все файлы, помеченные первым тегом, примерно так:
select * from files, tagged_files where id = file_id and tag_id = 1
Но как мне сделать то же самое, используя такие решения NoSQL, какMongoDB и CouchDB ??И какой проект NoSQL лучше всего подходит для чего-то подобного?