В прошлом в списке рассылки поднималась тема миллиона или более баз данных. Вывод состоял в том, что это зависит от того, как ваша операционная система справляется с таким количеством файлов. CouchDB просто обращается к частям файла .couch
по запросу. Производительность связана с тем, насколько быстро он может найти, открыть, получить доступ и закрыть этот файл.
Существуют хитрости для некоторых файловых систем, например, добавление разделителей /
в имя базы данных, что заставит CouchDB хранить их в соответствующих структурах каталогов, таких как groupA/userA.couch
, или использовать имена баз данных в стиле электронной почты com/bigbluehat/byoung.couch
(или что-то подобное).
Если этого недостаточно, Apache CouchDB 2.0 добавляет код BigCouch (который IBM Cloudant использует) для предоставления CouchDB с автоматическим сегментированием. Это еще не сделано, но оно обеспечит масштабируемость между несколькими узлами с использованием системы сегментирования в стиле Amazon Dynamo.
Другой вариант — сделать собственное разделение на основе имени пользователя между несколькими серверами CouchDB или использовать IBM Cloudant (который создан для этого уровня масштабирования).
Все эти варианты обеспечивают один и тот же протокол репликации Apache CouchDB и прекрасно работают с PouchDB, установленным на пользовательском компьютере, телефоне или планшете.
Устройство пользователя будет иметь собственную базу данных +/- любые общие базы данных. Приложения на этих миллионах пользовательских устройств должны были заботиться только о масштабируемости своего собственного контента (так называемого пространства на жестком диске). Приложение будет реплицироваться непосредственно в пользовательскую базу данных на «облачной» стороне для резервного копирования, использования в Интернете и т. д.
Надеюсь, что-то там звучит многообещающе. :)
person
BigBlueHat
schedule
28.08.2015