Dmitriy
10 000 групп по 1 000 000 записей вполне может переживать, если это предел и практика покажет что база раздулась то легко поднимается несколько инстансов редиса и тупейший шардинг между ними
Dmitriy
Ну и за очень продолжительное время работы с редисом на довольно нагруженных проектах - не заметил и байта потери данных или каких либо больших гемороев
Anonymous
class Store {
@state = "pending"
}
что за синтаксис такой? у меня вскод пишет что не понимает
Vladimir
Херовый синтаксис, невалидный
KlonD90
руби? кофе?
Anonymous
https://mobx.js.org/best/actions.html
Anonymous
вот тут взял
Dmitry
Здравствуйте. Может кто посоветовать как правильно хранить файлы-пароли для доступа к внешним ресурсам? Например к гугл севисам.
Vladimir
вот тут взял
@observable state = "pending"
Vladimir
Вестрейт в доке ошибся
Anonymous
таки да, просто удивило что там это все время повторяется
KlonD90
ну он мб себе бабелем поставил плагинов каких-то
Dmitriy
Это разные базы для разных целей
Vladimir
У редиса нет wal
KlonD90
KlonD90
ну как нету
KlonD90
если есть
Vladimir
Нет
KlonD90
удалили что ли?
Vladimir
не было никогда
Aleksand
KlonD90
да у него aof. Почему-то думал что они все таки добавили wal
Aleksand
Dmitriy
Я не читал историю и сказал это сразу)
KlonD90
а вот postgresql все стерпит ❤️
Dmitriy
Тарантул к сожалению только поигрался но продакшен еще не успел
Vladimir
Vladimir
Ну там много способов
Dmitriy
Тарантул это нечто больше чем редис, имхо сравнивать их не смысла, думаю осипов костя тоже не рад этому сравнению)
Dmitriy
И думаю поставленную задачу можно решить кучей способов
Dmitriy
И редисом и тарантулом и наверняка при норм подходе даже Mysql может норм переживать все это
Vladimir
Dmitriy
Ну это уже словестная брань))
Dmitriy
10 000 * 1 000 000
Vladimir
В первую очеред тарантул - это lua рантайм, что делает его непривлектальным для большой части населения
KlonD90
да даже так
Dmitriy
Я в курсе ну, поэтому это и нечто большее)
KlonD90
Dmitriy
Ну если вы так хотите это сравнить то пжлст)
Dmitriy
для меня это пустой диалог, прошу прощения если что-то не так сказал)
Vladimir
Я не хочу, я говорю что это несвязанные вещи
Dmitriy
Как скажете)
KlonD90
ну почему пустой. прикрутите плиз v8 к tarantool
Фεδως
parrot норм)0)0)
Vladimir
KlonD90
поздняк слегка
да был опрос меньше года назад. типа что делать sql этот или перенести с lua на v8
KlonD90
я не знаю зачем этот дурацкий sql (
Dmitriy
Пустой по части споров кто, что, как и чем обозвал) V8 в тарантуле это видимо не цель разрабов, их устраивает lua и видимо на это есть причины
KlonD90
лучше бы к v8
Dmitriy
Осипов вроде где то пояснил на одном из видосиков про тарантул почему они выбрали lua
KlonD90
Dmitriy
Хз, сколько людей столько и мнений, и языков программирования тоже много.
Anonymous
Кто может помочь с такой штукой.
Нужно из ноды запустить R-interpreter.
Делаю это делаю так
child = spawn('r', {
stdio: [
'pipe',
'pipe'
],
shell: true
});
После чего пытаюсь передать туда хоть что-нибудь, но увы.
Передаю вот так
child.stdin.write("console.log('Hello from R')\n");
child.stdin.end();
В output пусто.
Anonymous
Ребят, есть у кого-нибудь на freelance.ru бизнес-аккаунт? напишите в личку, пожалуйста, срочно нужно посмотреть заказчика одного проекта
Egor
Egor
всем приветик, не понимаю в чем трабл, пишу тест на моке, поднимаю сервак, делаю запрос, на стороне сервера после некоторой логики возвращаю статус код 413, но на респонсе выкидывает исключение с ошибкой ECONNRESET в итоге 413 отследить не могу, чяднт
Богдан
Камрады, вопрос такой созрел. Как наиболее эффективно хранить One-to-Many связи ооочень большого количества элементов. К примеру, 10000 групп по 1000000 объектов (строк, чисел, etc.). Варианты:
1). Тупо стандартное решение на SQL. Конечно БД пережуёт 10 млрд строк, но чёт мне подсказывает, что будут проблемс, в том числе и с маштабированием)
2). Array of * в PostgreSQL - список должен влезть в 1gb
3). Массивы в MongoDB - тут уже в 64 мб и как это будет работать при решардинге - непонятно
4). List в Cassandra (2^31 элементов)
Задачи стандртные:
1). Получить список кусками
2). Добавить элемент в список (с проверкой на уникальность)
3). Удалить
4). Проверить существование в списке
В качестве данных DWORD (16 бит) или строки < 30 символов.
Хотелось бы услышать ваше мнение по поводу этих вариантов или рекомендации на какие-то другие БД.
Интересная задачка. Предположу что решение специально написанное под эту задачу окажется более эффективным чем решения предназначены для широкого круга задач вроде sql. И в качестве варианта я бы предположил бы рассмотреть ноду и хранение данных либо полностью в оперативке либо с использованием виртуальной памяти (своп) когда ос будет вытеснять на диск память которая не влезает в оперативку. А для сохранения данных записывать на диск только append-лог операций по данным.
Но для начала нужно провести расчеты сколько места будут занимать эти данные. В ноде массив из ста групп где у каждой массив из миллиона 64 битных чисел у меня на маке занял 780 мегабайт. Соотвественно потребуется где-то 78 гигабайт оперативки если хранить все данные в памяти. Да это много но сейчас вполне возможно найти сервера и с большим количеством оперативки. При хранении данных ста групп в оперативке у меня 10k чтений из случайной группы случайного элемента заняло 1.5 миллисекунды. А в случае с виртуальной памятью эти 10k рандомных чтений занимают примерно 5 секунд что в 5 тысяч раз дольше. Но даже тысячу чтений за полсекунды тоже неплохой результат. Сомневаюсь что sql и большинство no-sql баз данных покажут такую скорость. Вот скрипт которым я проводил замеры
var k = 100;
var n = 1000000;
var arr = new Array(k);
for(var j = 0; j < k; j++){
arr[j] = new Array(n);
for(var i = 0; i < n; i++){
arr[j][i] = Math.random();
}
}
setTimeout(bench,1000);
function bench(){
var value = 0;
var time = Date.now();
for(var i = 0; i < 10000; i++){
var index1 = Math.random()*k|0;
var index2 = Math.random()*n|0;
value+=arr[index1][index2];
}
console.log(value, Date.now()-time);
setTimeout(bench,1000)
}
Egor
Egor
не, нифига, но вот наткнулся на этот ишью, пишут, что трабла в ноде
https://github.com/nodejs/node/issues/947#issue-58838888
KlonD90
KlonD90
Бред
KlonD90
Не вижу никакого индекса да и редис тот же 1лям операций в секунду выдаст, это на уровне ноды будет тупняк. Тарантул тоже спокойно выдаст 200к транзакций(или миллион если писать на c операции)
Anonymous
@vkurchatkin драма с esm — 🔥
Anonymous
нахрен лодаш из citgm надо, все верно
Vladimir
Да этот тип конченный
Vladimir
Помнится давно былая какая то драма со слиянием с андерскором
Vladimir
И уже тогда с ним стало все понятно
Anonymous
да, было дело
Anonymous
да и вообще его поведение в репке лодаша сомнительное
Anonymous
по отношению к контрибьюторам
Vladimir
Ну это его дело, как бы