Если вы используете Backbone , вы можете бесплатно получить полнофункциональную функцию enum (поиск по идентификатору, имени, пользовательским элементам), используя Backbone.Collection .
// enum instance members, optional
var Color = Backbone.Model.extend({
print : function() {
console.log("I am " + this.get("name"))
}
});
// enum creation
var Colors = new Backbone.Collection([
{ id : 1, name : "Red", rgb : 0xFF0000},
{ id : 2, name : "Green" , rgb : 0x00FF00},
{ id : 3, name : "Blue" , rgb : 0x0000FF}
], {
model : Color
});
// Expose members through public fields.
Colors.each(function(color) {
Colors[color.get("name")] = color;
});
// using
Colors.Red.print()
SQLite отлично справится с этим файлом; обязательно импортируйте записи транзакции, чтобы не тратить много времени на создание индексов, пока все не будет импортировано.
Недавно я исследовал SQLite для аналогичного приложения. В документации SQLite указано, что базы данных SQLite могут быть размером в терабайты и что основным ограничением SQLite является параллелизм (одновременное использование множества пользователей). Хотя мы не пошли в этом направлении (у нас есть собственный двоичный формат хранения), я был вполне уверен, что SQLite сможет обрабатывать файлы такого размера.
sqlite должен работать для вас. Я запустил набор данных такого размера даже на встроенном устройстве, и производительность sqlite была вполне приемлемой.
Как уже говорилось, основным узким местом является параллелизм. Постарайтесь спроектировать свою систему так, чтобы на каждый файл базы данных было открыто не более одного дескриптора базы данных.
sqlite работает быстро, когда вы используете транзакции и не выполняете фиксацию слишком часто. Использование подготовленных операторов с параметрами также ускоряет работу. Sqlite не нужно повторно анализировать каждый оператор sql, когда вы используете параметризованные запросы. Пример: Как мне обойти проблему "'" в sqlite и c #?
Я храню 2 гигабайта в базе данных sqlite, она работает очень хорошо. Большим преимуществом sqlite над плоским файлом является возможность индексировать ваши данные.