Киберпанк уже здесь
Jul. 1st, 2019 08:18 pmРешил я по дороге домой поиграться в голове с цифрами. Пусть у нас одна геометка человека - это 32 байта (int64 timestamp, int64 uid, double latitude, double longitude). Широту с долготой можно брать float, это даст точность порядка 2 метров, чего для приложений хватит с лихвой, но не будем крохоборствовать.
Пусть мы считываем геометку раз в минуту, тогда у нас 1440 (1500) точек в день, порядка 50КБ на человека. В предположении 8 гигачеловеков получаем 400 ТБ в день. Дофига, но не потрясает. Это порядка 1Е13 записей; в предположении 1Е4 тактов на первичную обработку записи (тащемта очень много) мы имеем 1Е17 тактов в день или 1Е12 тактов в секунду... или порядка 10 современных двухсокетников. Поток данных на сервер будет порядка 500 МБ/с или половина 10GbE интерфейса. Если считать, что к серверу подключено на день 10 дисков (и каждый день подключаются новые), то поток записи на диск будет 50 МБ/с - такую скорость даже бытовой 5.4К удержит при последовательной записи. При этом в памяти можно держать последние полчаса-час, что дает офигенный запас на буферизацию.
Конечно, чтобы хранить данные за год, нужно уже 36.5 килодисков. Тут надо бы сказать за репликацию... но данные-то будут ужиматься на ура (раз в несколько), что перекроет всю потребность в репликации. 40 килодисков в год стоят, ну, 8 мегабаксов, что абсолютно в масштабах проекта не потрясает. Раз в неделю привозить новую 48-юнитовку, набитую дисками, эка невидаль.
Короче, техническая возможность собирать, хранить и обрабатывать данные слежения за всеми человеками на шарике не то, что есть, а даже стоит не таких больших денег и реализуется одним специализированным датацентром. Вот дайте только несколько лет нормально все это запрограммировать, и начнется не анонсированный недавно Cyberpunk 2077, а самый обычный.
Хе-хе, мне сдается, что мы скоро будем завидовать ГДР-овцам из 80-х :).
Пусть мы считываем геометку раз в минуту, тогда у нас 1440 (1500) точек в день, порядка 50КБ на человека. В предположении 8 гигачеловеков получаем 400 ТБ в день. Дофига, но не потрясает. Это порядка 1Е13 записей; в предположении 1Е4 тактов на первичную обработку записи (тащемта очень много) мы имеем 1Е17 тактов в день или 1Е12 тактов в секунду... или порядка 10 современных двухсокетников. Поток данных на сервер будет порядка 500 МБ/с или половина 10GbE интерфейса. Если считать, что к серверу подключено на день 10 дисков (и каждый день подключаются новые), то поток записи на диск будет 50 МБ/с - такую скорость даже бытовой 5.4К удержит при последовательной записи. При этом в памяти можно держать последние полчаса-час, что дает офигенный запас на буферизацию.
Конечно, чтобы хранить данные за год, нужно уже 36.5 килодисков. Тут надо бы сказать за репликацию... но данные-то будут ужиматься на ура (раз в несколько), что перекроет всю потребность в репликации. 40 килодисков в год стоят, ну, 8 мегабаксов, что абсолютно в масштабах проекта не потрясает. Раз в неделю привозить новую 48-юнитовку, набитую дисками, эка невидаль.
Короче, техническая возможность собирать, хранить и обрабатывать данные слежения за всеми человеками на шарике не то, что есть, а даже стоит не таких больших денег и реализуется одним специализированным датацентром. Вот дайте только несколько лет нормально все это запрограммировать, и начнется не анонсированный недавно Cyberpunk 2077, а самый обычный.
Хе-хе, мне сдается, что мы скоро будем завидовать ГДР-овцам из 80-х :).