#postgres #storage #optimization #dba
Возникла в процессе работы над моделью соцсети проблема: гигантский размер таблицы фолловеров. При количестве юзеров порядка 130K количество связей между ними уже превышает 80M. Юзер имеет от нуля до 800K подписчиков (медиана 25, среднее 468) и сам подписан на от нуля до 160К инфлюенсеров (медиана 28, среднее 186).
Табличка вида
create table users_followers(
target_user_id text ,
following_user_id text,
link_prev_from bigint,
link_next_from bigint,
position smallint,
added_at timestamp default (now() at time zone 'utc'),
primary key (target_user_id,following_user_id)
);
занимает уже 6 Гб, а первичный ключ - 4Гб. link_prev_from/ link_prev_to/position это, по сути, оценки времени, когда юзеры подружились; added_at это момент времени, когда связь была установлена внешним наблюдателем.
Хранится всё в ванильном Постгре 15 на Ubuntu 20.04 LTS, FS=ext4. После недавнего инцидента никаких дисков кроме ssd для баз я использовать не хочу, следовательно, пространство дорого (скажем, на 1 машинке есть 3.5TB SSD storage). С учётом того, что данные после записи не модифицируются и не удаляются, а только читаются и вставляются, и всего ожидается около 100M юзеров, как бы Вы подошли к оптимизации хранения таких связей? Запросы сводятся к
1) случайной выборке флолловеров (и последующей проверке их id по другой табличке) SELECT following_user_id FROM users_followers TABLESAMPLE SYSTEM_ROWS(1000)
2) получению всех записей/всех полей по target_user_id в пакетном режиме.
Итоговым решением поделюсь позже, а пока буду рад советам ) Вдруг подобную задачу подписчики уже решали.
Пример строки target_user_id,following_user_id,link_prev_from,link_next_from,position,added_at:
"10000187a48d";"fc632fb4596f";1657686648645;1657686624495;23; "2023-01-11 13:02:11.064876"
Размеры заполненных полей в байтах: 13,13,8,8,2,8.
Возникла в процессе работы над моделью соцсети проблема: гигантский размер таблицы фолловеров. При количестве юзеров порядка 130K количество связей между ними уже превышает 80M. Юзер имеет от нуля до 800K подписчиков (медиана 25, среднее 468) и сам подписан на от нуля до 160К инфлюенсеров (медиана 28, среднее 186).
Табличка вида
create table users_followers(
target_user_id text ,
following_user_id text,
link_prev_from bigint,
link_next_from bigint,
position smallint,
added_at timestamp default (now() at time zone 'utc'),
primary key (target_user_id,following_user_id)
);
занимает уже 6 Гб, а первичный ключ - 4Гб. link_prev_from/ link_prev_to/position это, по сути, оценки времени, когда юзеры подружились; added_at это момент времени, когда связь была установлена внешним наблюдателем.
Хранится всё в ванильном Постгре 15 на Ubuntu 20.04 LTS, FS=ext4. После недавнего инцидента никаких дисков кроме ssd для баз я использовать не хочу, следовательно, пространство дорого (скажем, на 1 машинке есть 3.5TB SSD storage). С учётом того, что данные после записи не модифицируются и не удаляются, а только читаются и вставляются, и всего ожидается около 100M юзеров, как бы Вы подошли к оптимизации хранения таких связей? Запросы сводятся к
1) случайной выборке флолловеров (и последующей проверке их id по другой табличке) SELECT following_user_id FROM users_followers TABLESAMPLE SYSTEM_ROWS(1000)
2) получению всех записей/всех полей по target_user_id в пакетном режиме.
Итоговым решением поделюсь позже, а пока буду рад советам ) Вдруг подобную задачу подписчики уже решали.
Пример строки target_user_id,following_user_id,link_prev_from,link_next_from,position,added_at:
"10000187a48d";"fc632fb4596f";1657686648645;1657686624495;23; "2023-01-11 13:02:11.064876"
Размеры заполненных полей в байтах: 13,13,8,8,2,8.
👍3👀1
#hardware #storage
15Tb -версия будет стоить около $1800, как я понимаю.
"Компания Solidigm анонсировала SSD семейства D5-P5336, предназначенные для построения СХД высокой плотности. Решения подходят для решения ресурсоёмких задач, связанных с генеративным ИИ, обработкой больших данных и пр. Изделия выполнены в форм-факторе E1.L.
В основу новинок положены 192-слойные микрочипы флеш-памяти QLC 3D NAND. Задействован интерфейс PCIe 4.0 x4 (спецификация NVMe 1.4). Заявленная производительность достигает 7000 Мбайт/с в режиме последовательного чтения и 3100–3300 Мбайт/с в режиме последовательной записи (в зависимости от модификации).
В серию вошли четыре модели — вместимостью 7,68; 15,36; 30,72 и 61,44 Тбайт."
https://servernews.ru/1090285
15Tb -версия будет стоить около $1800, как я понимаю.
"Компания Solidigm анонсировала SSD семейства D5-P5336, предназначенные для построения СХД высокой плотности. Решения подходят для решения ресурсоёмких задач, связанных с генеративным ИИ, обработкой больших данных и пр. Изделия выполнены в форм-факторе E1.L.
В основу новинок положены 192-слойные микрочипы флеш-памяти QLC 3D NAND. Задействован интерфейс PCIe 4.0 x4 (спецификация NVMe 1.4). Заявленная производительность достигает 7000 Мбайт/с в режиме последовательного чтения и 3100–3300 Мбайт/с в режиме последовательной записи (в зависимости от модификации).
В серию вошли четыре модели — вместимостью 7,68; 15,36; 30,72 и 61,44 Тбайт."
https://servernews.ru/1090285
ServerNews - все из мира больших мощностей
Solidigm представила SSD D5-P5336 формата E1.L вместимостью до 61,44 Тбайт
Компания Solidigm анонсировала SSD семейства D5-P5336, предназначенные для построения СХД высокой плотности. Решения подходят для решения ресурсоёмких задач, связанных с генеративным ИИ, обработкой больших данных и пр. Изделия выполнены в форм-факторе E1.L.
#hardware #storage
А прогресс-то идёт! можно купить 64TB NVME SSD за $4k! Я брал 8TB за $2k, и то до сих пор очень доволен.
"Компания Solidigm, по сообщению TechRadar, начала приём заказов на самый вместительный в мире QLC NVMe SSD, предназначенный для применения в СХД высокой плотности для дата-центров. Речь идёт об изделии D5-P5336, способном вмещать 61,44 Тбайт информации.
Устройство было представлено летом прошлого года. Оно имеет формат E1.L; задействован интерфейс PCIe 4.0 x4 (NVMe 1.4). В конструкции применены 192-слойные микрочипы флеш-памяти QLC 3D NAND. Стоит отметить, что данный накопитель является наиболее ёмким среди «обычных» NVMe SSD. Заявленная скорость последовательного чтения данных достигает 7000 Мбайт/с, скорость последовательной записи — 3000 Мбайт/с. Величина IOPS при произвольном чтении блоками по 4 Кбайт, согласно техническим характеристикам, составляет до 1 005 000, при произвольной записи — до 43 800."
https://servernews.ru/1099060
А прогресс-то идёт! можно купить 64TB NVME SSD за $4k! Я брал 8TB за $2k, и то до сих пор очень доволен.
"Компания Solidigm, по сообщению TechRadar, начала приём заказов на самый вместительный в мире QLC NVMe SSD, предназначенный для применения в СХД высокой плотности для дата-центров. Речь идёт об изделии D5-P5336, способном вмещать 61,44 Тбайт информации.
Устройство было представлено летом прошлого года. Оно имеет формат E1.L; задействован интерфейс PCIe 4.0 x4 (NVMe 1.4). В конструкции применены 192-слойные микрочипы флеш-памяти QLC 3D NAND. Стоит отметить, что данный накопитель является наиболее ёмким среди «обычных» NVMe SSD. Заявленная скорость последовательного чтения данных достигает 7000 Мбайт/с, скорость последовательной записи — 3000 Мбайт/с. Величина IOPS при произвольном чтении блоками по 4 Кбайт, согласно техническим характеристикам, составляет до 1 005 000, при произвольной записи — до 43 800."
https://servernews.ru/1099060
ServerNews - все из мира больших мощностей
Solidigm начала продажи самого ёмкого в мирe NVMe SSD — 61,44 Тбайт стоят менее $4000
Компания Solidigm, по сообщению TechRadar, начала приём заказов на самый вместительный в мире QLC NVMe SSD, предназначенный для применения в СХД высокой плотности для дата-центров. Речь идёт об изделии D5-P5336, способном вмещать 61,44 Тбайт информации.
#hardware #storage
https://3dnews.ru/1109567/highpoint-predstavila-raidkontroller-na-16-ssd-m2-do-128-tbayt-so-skorostyu-do-28-gbayts
https://3dnews.ru/1109567/highpoint-predstavila-raidkontroller-na-16-ssd-m2-do-128-tbayt-so-skorostyu-do-28-gbayts
3DNews - Daily Digital Digest
HighPoint представила RAID-контроллер на 16 M.2-накопителей — до 128 Тбайт со скоростью до 28 Гбайт/с
Компания HighPoint представила 16-канальную карту расширения SSD7749M2 PCIe 4.
#hardware #storage
"На территории Таиланда у американской компании Western Digital функционирует предприятие, отвечающее за выпуск 80 % всех жёстких дисков в мире. Компания собирается увеличить его штат почти в полтора раза и вложить в расширение производства $693 млн, данная инициатива уже получила поддержку со стороны местных властей.
За десятилетие власти Таиланда в общей сложности одобрили инвестиции на развитие в стране производства жёстких дисков на сумму $2,43 млрд. В прошлом году разрешение вложить $470 млн на расширение своих производственных мощностей в стране получила американская компания Seagate Technology. Всего по итогам текущего года в различные сферы экономики Таиланда было вложено около $23,5 млрд."
А в России что? Климат не тот, видать.
https://3dnews.ru/1109993/vlasti-tailanda-odobrili-investitsii-western-digital-v-summe-693-mln-napravlyaemie-na-rasshirenie-proizvodstva-gyostkih-diskov
"На территории Таиланда у американской компании Western Digital функционирует предприятие, отвечающее за выпуск 80 % всех жёстких дисков в мире. Компания собирается увеличить его штат почти в полтора раза и вложить в расширение производства $693 млн, данная инициатива уже получила поддержку со стороны местных властей.
За десятилетие власти Таиланда в общей сложности одобрили инвестиции на развитие в стране производства жёстких дисков на сумму $2,43 млрд. В прошлом году разрешение вложить $470 млн на расширение своих производственных мощностей в стране получила американская компания Seagate Technology. Всего по итогам текущего года в различные сферы экономики Таиланда было вложено около $23,5 млрд."
А в России что? Климат не тот, видать.
https://3dnews.ru/1109993/vlasti-tailanda-odobrili-investitsii-western-digital-v-summe-693-mln-napravlyaemie-na-rasshirenie-proizvodstva-gyostkih-diskov
3DNews - Daily Digital Digest
Western Digital вложит $693 млн в расширение производства жёстких дисков в Таиланде
На территории Таиланда у американской компании Western Digital функционирует предприятие, отвечающее за выпуск 80 % всех жёстких дисков в мире.
#storage #parquet
Оказывается, в паркетных файлах много настроек, от размера группы до кодировки. трюк с хранением timestamp как отсортированной timedelta позволяет сэкономить 17% размера файла.
Советуют хранить float в кодировке BSS, проверять эффекты сортировки, брать сжатие zstd по дефолту, но обращать внимание на время записи/чтения файла.
https://www.youtube.com/watch?v=GkBDqTrV0hg
Оказывается, в паркетных файлах много настроек, от размера группы до кодировки. трюк с хранением timestamp как отсортированной timedelta позволяет сэкономить 17% размера файла.
Советуют хранить float в кодировке BSS, проверять эффекты сортировки, брать сжатие zstd по дефолту, но обращать внимание на время записи/чтения файла.
https://www.youtube.com/watch?v=GkBDqTrV0hg
YouTube
Going beyond Parquet's default settings – be surprised what you can get
🔊 Recorded at PyCon DE & PyData Berlin 2024, 22.04.2024
https://2024.pycon.de/program/SQUNWS/
🎓 Watch as Uwe L. Korn, CTO of QuantCo, delves into the core structure of Apache Parquet and reveals how tweaking its settings can unlock its full potential for…
https://2024.pycon.de/program/SQUNWS/
🎓 Watch as Uwe L. Korn, CTO of QuantCo, delves into the core structure of Apache Parquet and reveals how tweaking its settings can unlock its full potential for…
👍1
#hardware #storage #ssd
"Micron анонсировала этот накопитель как первый в индустрии PCIe 6.0 SSD, заявив скорость чтения в 26 Гбайт/с. Однако испытания на стенде Astera Labs позволили превзойти эти ожидания — скорость чтения достигла 27,14 Гбайт/с для каждого из двух SSD в тестовой системе. Для сравнения, самый быстрый из протестированных PCIe 5.0 SSD, Crucial T705, показал максимум 14,5 Гбайт/с, что составляет лишь половину нового рекорда Micron.
Достичь таких показателей помог сетевой коммутатор Astera Scorpio P-Series Fabric Switch, поддерживающий до 64 линий PCIe 6.0. Этот коммутатор был разработан для высокопроизводительных вычислений (HPC) и искусственного интеллекта (ИИ), обеспечивая быструю связь между процессорами, видеокартами и хранилищами. Кроме того, в тестах использовалась технология Nvidia Magnum IO GPUDirect (GDS), позволяющая устройствам хранения данных напрямую взаимодействовать с памятью GPU, минуя центральный процессор и уменьшая задержки.
Отметим, что стандарт PCIe 6.x продолжает совершенствоваться и развиваться (актуальная версия — PCIe 6.3), обещая стать новым отраслевым стандартом как для корпоративных решений, так и в перспективе для потребительских устройств. Если PCIe 5.0 обеспечивает двустороннюю пропускную способность до 128 Гбайт/с на шине x16, то PCIe 6.x удвоит этот показатель до 256 Гбайт/с."
https://3dnews.ru/1119456/micron-pokazala-samiy-bistriy-ssd-v-mire-s-pcie-60-i-skorostyu-do-27-gbayts
"Micron анонсировала этот накопитель как первый в индустрии PCIe 6.0 SSD, заявив скорость чтения в 26 Гбайт/с. Однако испытания на стенде Astera Labs позволили превзойти эти ожидания — скорость чтения достигла 27,14 Гбайт/с для каждого из двух SSD в тестовой системе. Для сравнения, самый быстрый из протестированных PCIe 5.0 SSD, Crucial T705, показал максимум 14,5 Гбайт/с, что составляет лишь половину нового рекорда Micron.
Достичь таких показателей помог сетевой коммутатор Astera Scorpio P-Series Fabric Switch, поддерживающий до 64 линий PCIe 6.0. Этот коммутатор был разработан для высокопроизводительных вычислений (HPC) и искусственного интеллекта (ИИ), обеспечивая быструю связь между процессорами, видеокартами и хранилищами. Кроме того, в тестах использовалась технология Nvidia Magnum IO GPUDirect (GDS), позволяющая устройствам хранения данных напрямую взаимодействовать с памятью GPU, минуя центральный процессор и уменьшая задержки.
Отметим, что стандарт PCIe 6.x продолжает совершенствоваться и развиваться (актуальная версия — PCIe 6.3), обещая стать новым отраслевым стандартом как для корпоративных решений, так и в перспективе для потребительских устройств. Если PCIe 5.0 обеспечивает двустороннюю пропускную способность до 128 Гбайт/с на шине x16, то PCIe 6.x удвоит этот показатель до 256 Гбайт/с."
https://3dnews.ru/1119456/micron-pokazala-samiy-bistriy-ssd-v-mire-s-pcie-60-i-skorostyu-do-27-gbayts
3DNews - Daily Digital Digest
Micron показала самый быстрый SSD в мире — с PCIe 6.0 и скоростью до 27 Гбайт/с
Компания Micron совместно с Astera Labs продемонстрировала на конференции DesignCon 2025 первый в мире твердотельный накопитель (SSD) с интерфейсом PCIe 6.