SQLite для больших наборов данных?

Если вы используете 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()

20
задан Mark Nold 23 June 2009 в 15:28
поделиться

4 ответа

SQLite отлично справится с этим файлом; обязательно импортируйте записи транзакции, чтобы не тратить много времени на создание индексов, пока все не будет импортировано.

18
ответ дан 29 November 2019 в 23:45
поделиться

Недавно я исследовал SQLite для аналогичного приложения. В документации SQLite указано, что базы данных SQLite могут быть размером в терабайты и что основным ограничением SQLite является параллелизм (одновременное использование множества пользователей). Хотя мы не пошли в этом направлении (у нас есть собственный двоичный формат хранения), я был вполне уверен, что SQLite сможет обрабатывать файлы такого размера.

9
ответ дан 29 November 2019 в 23:45
поделиться

sqlite должен работать для вас. Я запустил набор данных такого размера даже на встроенном устройстве, и производительность sqlite была вполне приемлемой.

Как уже говорилось, основным узким местом является параллелизм. Постарайтесь спроектировать свою систему так, чтобы на каждый файл базы данных было открыто не более одного дескриптора базы данных.

3
ответ дан 29 November 2019 в 23:45
поделиться

sqlite работает быстро, когда вы используете транзакции и не выполняете фиксацию слишком часто. Использование подготовленных операторов с параметрами также ускоряет работу. Sqlite не нужно повторно анализировать каждый оператор sql, когда вы используете параметризованные запросы. Пример: Как мне обойти проблему "'" в sqlite и c #?

Я храню 2 гигабайта в базе данных sqlite, она работает очень хорошо. Большим преимуществом sqlite над плоским файлом является возможность индексировать ваши данные.

6
ответ дан 29 November 2019 в 23:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: