База данных: характеристики
База данных с характеристиками хранилища временных рядов, колоночной базы данных и возможностью чтения и записи только в «горячей» области.
Сверхвысокая скорость вставки (до 200 000 операций в секунду на одном ядре, проверено в тестовой среде Ubuntu + AMD Ryzen5 3500U).
Быстрый многоусловный запрос (использование метода индексированного альтернативного запроса, чем больше столбцов запрашивается, тем быстрее выполняется запрос).
Очень быстрый LIKE-запрос с использованием двоичного поиска, эффективность которого выше, чем у полного равенства.
Гибкое управление памятью, низкое использование памяти (каждая таблица может независимо управлять использованием памяти).
Поддержка сжатия zstd, экономия дискового пространства более чем в 10 раз.
Использование REST API для подключения без дополнительных затрат.
Прямое построение запросов через API-документацию.
Инициализация соединения:
// Импорт модуля
// Для браузера
<script src="/socket.io/socket.io.js"></script>
// Для nodejs
const io = require('socket.io-client')
// Создание соединения
const client = io('http://127.0.0.1:7170')
client.on('connect', () => {
// Соединение установлено успешно
})
Создание структуры таблицы.
curl -X POST http://127.0.0.1:7170/createTable -d '{"ns": "tt.test", "cols": {}}'
client.emit('createTable', 'tt.test', {
name: { len: 10, type: 'string', encoding: 'utf8'},
uptime: { type: 'double'},
test: { len: 20, type: 'string', encoding: 'utf8'},
rand: { len: 20, type: 'string', encoding: 'utf8'},
bool: { type: 'bool', default: false },
int: { len: 2, type: 'int' }, // int len: 1-6, 1: 128, 2: 128 * 256, 3: 128 * 250 * 256
time: { type: 'time' },
date: { len: 20, type: 'string', encoding: 'utf8'}
}, { update: true })
Вставка данных.
http://127.0.0.1:7170/tt.test/create?name=hehe&rand=165
test.create({
name: 'test',
uptime: 1.23123,
test: 'hehedada',
rand: '371893',
bool: true,
int: Acan.random(0, 99),
time: 1592188598,
date: '2020-06-15 10:36:56'
})
Запрос данных.
http://127.0.0.1:7170/tt.test/find?name=hehe&rand[$like]=165&$limit=10&$skip=0
test.find({
name: 'test', // Полное равенство при запросе
test: { $like: ['hehe', 'dada'] } // LIKE-запрос, поддержка массива
rand: { $in: ['123456', '234567'] } // Массив полного равенства при запросе
}, { limit: 10, skip: 0 })
Запрос одной строки данных.
http://127.0.0.1:7170/tt.test/findOne?name=hehe&rand[$like]=165&$skip=0
test.findOne({
name: 'test', // Полное равенство при запросе
test: { $like: ['hehe', 'dada'] } // LIKE-запрос, поддержка массива
rand: { $in: ['123456', '234567'] } // Массив полного равенства при запросе
}, { skip: 0 })
Подсчёт количества данных.
http://127.0.0.1:7170/tt.test/count?name=hehe&rand[$like]=165
test.count({
name: 'test', // Полное равенство при запросе
test: { $like: ['hehe', 'dada'] } // LIKE-запрос, поддержка массива
rand: { $in: ['123456', '234567'] } // Массив полного равенства при запросе
})
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )