SlideShare a Scribd company logo
Как	мы	выбирали	
PostgreSQL	для	
ГИС	ЖКХ
Савочкин	Егор
esav@lanit.ru
ГИС	ЖКХ
Государственная информационная система
жилищно-коммунального хозяйства
Основные	параметры	/	требования
• Сложный	функционал	
• ЖК	РФ,	
• 209-ФЗ	и	т.д.
• Масштабирование	на	всю	
Россию
• 50	млн	домохозяйств,	
• 200	тыс УО/РСО,	
• органы	власти	и	тд
• 24x7
• Разные	клиенты	–
браузер,	мобильный,	
ЕПГУ	и	тп www.dom.gosuslugi.ru
• 3000	запросов/сек
• 60	ТБ	прирост	данных	в	
год
• Команда	150+	человек
• Свободное	ПО	или	ПО	с	
открытым	кодом
• Максимально	
распространенное	
железо
Tech	GURU	Day,	LANIT	12.02.2016 2
Zakupki.gov.ru,	bus.gov.ru,	ЕМИАС	и	др.
• Разбиваем	систему	на	функциональные	подсистемы
• Не	выделяем	функционал	для	федерального	уровня,	регионального	
уровней,	т.к.	много	дублирования	и	пересечений
• Многозвенная	архитектура
• Хранение	– реляционная	СУБД	Oracle,	
• Логика	– JEE	сервер	приложений WLS/WebSphere	AS
• Клиенты	- браузер,	интеграционные	сервисы,	мобильные	приложения	и	
т.п.
Tech	GURU	Day,	LANIT	12.02.2016 3
Муки	выбора
• NoSQL… Cassandra?	MongoDB?...
• Нет	распределенных	транзакций,	ненормализованные	данные/агрегаты
• Искать	по	вторичным	ключам	– не	просто,	нужны	спец	средства
• Боимся	потерять	целостность
• Нас	всех	учили	долго	использовать	реляционные	СУБД
• Поизучали и	побоялись	все	делать	на	NoSQL…
• Решили	использовать	точечно
• Реляционная	БД…сделали	ставку	на	РСУБД	PostgreSQL
• Как	PostgreSQL поведет	себя	под	нагрузкой?
• Как	долго	переучивать	людей	с	Oracleна	PostgreSQL?
• Насколько	адекватен	инструментарий?
• Не	понятная	ситуация	с	саппортом
Tech	GURU	Day,	LANIT	12.02.2016 4
Обучение
• Хорошие	курсы	на	сайте	EnterpriseDB
• Команда	прошла	обучение,	сдали	сертификационные	экзамены
• Стали	партнерами	EnterpriseDB
• Пригласили	Брюса	Момжана к	нам,	пообщались	с	ним	+	он	
сделал	доклад	в	этом	зале
• … и	тут	еще	мы	узнали,	что	образуется	PostgresProfessional
• …	мы	познакомились	и	теперь	находимся	во	взаимодействии
Tech	GURU	Day,	LANIT	12.02.2016 5
Функциональный	прототип	и	НТ
• Цель
• Проверить возможность реализовать приближенный к
реальности функционал с использованием PostgreSQL
• Проверить возможности масштабирования СУБД
PostgreSQL и ее работоспособность в стрессовых
сценариях
• Проверить работу failover конфигурации
• Данные
• 40 млн квартир
• 200 тыс УО, 40 тыс РСО
• 1 млн МКД, 10 тыс муниципалитетов
• Функционал
• Ввод/чтение показаний ПУ
• Ввод счетов на оплату
• Получение фактов оплаты счета
• Формирование отчета от задолженности
• Импортсчетов
• Экспорт показаний ПУ
Tech	GURU	Day,	LANIT	12.02.2016 6
Результаты
Сценарий
Требуемый
RPS
RPS_postgre
sql
CPU_av_postg
resql
IOPS_postgr
esql
Сценарий 1. Обновление показаний
всех счетчиков ОУ
139
8333
Сценарий 2. Обновление показаний
всех счетчиков МКД
29
6172 64 1363
Сценарий 3. Чтение показаний всех
счетчиков ОУ
139
22478
Сценарий 4. Чтение показаний всех
счетчиков МКД
29
8653 44 384
Сценарий 5. Запись счетов на оплату
для ОУ
579
3472
Сценарий 6. Запись счетов на оплату
для МКД
11,57
4578 48 3478
Сценарий 7. Запись платежей ОУ 19 15087 77 1831
Сценарий 8. Получение отчета о
кредиторской и дебиторской
задолженностях (ОУ)
578
35410 52 44
Сценарий 9. Получение отчета о
кредиторской и дебиторской
задолженностях (муниципалитет)
0,1
76 19 418
Сценарий 10. Получение отчета о
кредиторской и дебиторской
задолженностях (РСО)
0,37
3750 3 170
Сценарий 11. Получение информации
о нормативах
0,73
13503 31 645
Сценарий 12. Композитный тест 2564 17 1888
Обозначение Описание оборудования Кол-во
x86-1,…,	x86-6 Cisco	UCS	B200	M3	Blade	Server	2	CPU	E5	2650	8	cores,	128Gb 6
IBM	p770 IBM	Power	770	16	cores	3,1Ghz	Power7,	128Gb	RAM 1
HUS Hitachi	HUS110	5x2Тб	SATA,	48x300Гб	SAS	10k 1
SAN IBM	System	Storage	SAN40B-4,	8	Gbps 2
IBM	p750 IBM	Power	750	8	cores	3.3	GHz	Power7,	64Gb	RAM 1
• Реализовали приближенный к реальному
функционал на РСУБД PostgreSQL
• Сделали стресс-тесты – высокая нагрузка по
каждомусценариюпо отдельности
• Попробовали композитный тест – все
сценарии одновременно нагружаются в
соответствии с профилем нагрузки
• Попробовали failover
• НТ выполнялся специалистами в Oracle,
прошедшими краткий курс обучения
PostgreSQL. Не выполняли тонкую
оптимизациюи т.п.
Tech	GURU	Day,	LANIT	12.02.2016 7
Савочкин	Егор
esav@lanit.ru
Tech	GURU	Day,	LANIT	12.02.2016 8

More Related Content

PDF
Что такое ЛАНИТ и почему ЛАНИТ интересна тема PostgreSQL – Яков Шуваев
PDF
2016-02-13 02 Дмитрий Ульянов. ГИС, форматы данных
PDF
HappyDev-lite-2016-весна 09 Алексей Дударев. Электронная картография и гис
PDF
2016-04-30 03 Антон Рожков. Android + iOS = ?
PPTX
Регрессионные анализ в ГИС
PDF
Основные решения по созданию геоинформационной системы аэропорта - Esri
PPT
лекция гис
PDF
Brusentsova n. gis in the work of slobozhanskiy national park
Что такое ЛАНИТ и почему ЛАНИТ интересна тема PostgreSQL – Яков Шуваев
2016-02-13 02 Дмитрий Ульянов. ГИС, форматы данных
HappyDev-lite-2016-весна 09 Алексей Дударев. Электронная картография и гис
2016-04-30 03 Антон Рожков. Android + iOS = ?
Регрессионные анализ в ГИС
Основные решения по созданию геоинформационной системы аэропорта - Esri
лекция гис
Brusentsova n. gis in the work of slobozhanskiy national park

Similar to Как мы выбирали PostgreSQL для ГИС ЖКХ. Егор Савочкин, ЛАНИТ (20)

PPT
Ускорение веб-аналитики с использованием Column-oriented СУБД (Иван Авсеянко)
PPT
Модернизация казначейской системы Российской Федерации
PDF
Waits monitoring in PostgreSQL
PDF
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
PPT
NG automate yourself
PDF
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
PDF
IT-Task. Дмитрий Ильин. "SIEM как головной мозг системы обеспечения информаци...
PDF
Доклад НИОКР Шеметов
PPTX
2014.12.23 Александр Андреев, Parallels
PDF
IT-Task. Дмитрий Ильин. "SIEM как головной мозг системы обеспечения информаци...
PDF
IT-Task. Дмитрий Ильин. "SIEM как головной мозг системы обеспечения информаци...
PDF
Борис Каплуновский, Aviasales.ru
PDF
20% of investment and 80% of profit. How to implement security requirements a...
PDF
#MBLTdev: Трилатерация с помощью iBeacon
PPTX
Open source technologies in Microsoft cloud - MS SWIT 2014
PPTX
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
PPTX
Monitoring-driven эксплуатация (rootconf2015)
PDF
Принцип достаточности
Ускорение веб-аналитики с использованием Column-oriented СУБД (Иван Авсеянко)
Модернизация казначейской системы Российской Федерации
Waits monitoring in PostgreSQL
Мониторинг ожиданий в PostgreSQL / Курбангалиев Ильдус (Postgres Professional)
NG automate yourself
Андрей Федоренчик- «Высоконагруженная система с аналитикой на InfoBright»
IT-Task. Дмитрий Ильин. "SIEM как головной мозг системы обеспечения информаци...
Доклад НИОКР Шеметов
2014.12.23 Александр Андреев, Parallels
IT-Task. Дмитрий Ильин. "SIEM как головной мозг системы обеспечения информаци...
IT-Task. Дмитрий Ильин. "SIEM как головной мозг системы обеспечения информаци...
Борис Каплуновский, Aviasales.ru
20% of investment and 80% of profit. How to implement security requirements a...
#MBLTdev: Трилатерация с помощью iBeacon
Open source technologies in Microsoft cloud - MS SWIT 2014
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring-driven эксплуатация (rootconf2015)
Принцип достаточности
Ad

Как мы выбирали PostgreSQL для ГИС ЖКХ. Егор Савочкин, ЛАНИТ

  • 2. Основные параметры / требования • Сложный функционал • ЖК РФ, • 209-ФЗ и т.д. • Масштабирование на всю Россию • 50 млн домохозяйств, • 200 тыс УО/РСО, • органы власти и тд • 24x7 • Разные клиенты – браузер, мобильный, ЕПГУ и тп www.dom.gosuslugi.ru • 3000 запросов/сек • 60 ТБ прирост данных в год • Команда 150+ человек • Свободное ПО или ПО с открытым кодом • Максимально распространенное железо Tech GURU Day, LANIT 12.02.2016 2
  • 3. Zakupki.gov.ru, bus.gov.ru, ЕМИАС и др. • Разбиваем систему на функциональные подсистемы • Не выделяем функционал для федерального уровня, регионального уровней, т.к. много дублирования и пересечений • Многозвенная архитектура • Хранение – реляционная СУБД Oracle, • Логика – JEE сервер приложений WLS/WebSphere AS • Клиенты - браузер, интеграционные сервисы, мобильные приложения и т.п. Tech GURU Day, LANIT 12.02.2016 3
  • 4. Муки выбора • NoSQL… Cassandra? MongoDB?... • Нет распределенных транзакций, ненормализованные данные/агрегаты • Искать по вторичным ключам – не просто, нужны спец средства • Боимся потерять целостность • Нас всех учили долго использовать реляционные СУБД • Поизучали и побоялись все делать на NoSQL… • Решили использовать точечно • Реляционная БД…сделали ставку на РСУБД PostgreSQL • Как PostgreSQL поведет себя под нагрузкой? • Как долго переучивать людей с Oracleна PostgreSQL? • Насколько адекватен инструментарий? • Не понятная ситуация с саппортом Tech GURU Day, LANIT 12.02.2016 4
  • 5. Обучение • Хорошие курсы на сайте EnterpriseDB • Команда прошла обучение, сдали сертификационные экзамены • Стали партнерами EnterpriseDB • Пригласили Брюса Момжана к нам, пообщались с ним + он сделал доклад в этом зале • … и тут еще мы узнали, что образуется PostgresProfessional • … мы познакомились и теперь находимся во взаимодействии Tech GURU Day, LANIT 12.02.2016 5
  • 6. Функциональный прототип и НТ • Цель • Проверить возможность реализовать приближенный к реальности функционал с использованием PostgreSQL • Проверить возможности масштабирования СУБД PostgreSQL и ее работоспособность в стрессовых сценариях • Проверить работу failover конфигурации • Данные • 40 млн квартир • 200 тыс УО, 40 тыс РСО • 1 млн МКД, 10 тыс муниципалитетов • Функционал • Ввод/чтение показаний ПУ • Ввод счетов на оплату • Получение фактов оплаты счета • Формирование отчета от задолженности • Импортсчетов • Экспорт показаний ПУ Tech GURU Day, LANIT 12.02.2016 6
  • 7. Результаты Сценарий Требуемый RPS RPS_postgre sql CPU_av_postg resql IOPS_postgr esql Сценарий 1. Обновление показаний всех счетчиков ОУ 139 8333 Сценарий 2. Обновление показаний всех счетчиков МКД 29 6172 64 1363 Сценарий 3. Чтение показаний всех счетчиков ОУ 139 22478 Сценарий 4. Чтение показаний всех счетчиков МКД 29 8653 44 384 Сценарий 5. Запись счетов на оплату для ОУ 579 3472 Сценарий 6. Запись счетов на оплату для МКД 11,57 4578 48 3478 Сценарий 7. Запись платежей ОУ 19 15087 77 1831 Сценарий 8. Получение отчета о кредиторской и дебиторской задолженностях (ОУ) 578 35410 52 44 Сценарий 9. Получение отчета о кредиторской и дебиторской задолженностях (муниципалитет) 0,1 76 19 418 Сценарий 10. Получение отчета о кредиторской и дебиторской задолженностях (РСО) 0,37 3750 3 170 Сценарий 11. Получение информации о нормативах 0,73 13503 31 645 Сценарий 12. Композитный тест 2564 17 1888 Обозначение Описание оборудования Кол-во x86-1,…, x86-6 Cisco UCS B200 M3 Blade Server 2 CPU E5 2650 8 cores, 128Gb 6 IBM p770 IBM Power 770 16 cores 3,1Ghz Power7, 128Gb RAM 1 HUS Hitachi HUS110 5x2Тб SATA, 48x300Гб SAS 10k 1 SAN IBM System Storage SAN40B-4, 8 Gbps 2 IBM p750 IBM Power 750 8 cores 3.3 GHz Power7, 64Gb RAM 1 • Реализовали приближенный к реальному функционал на РСУБД PostgreSQL • Сделали стресс-тесты – высокая нагрузка по каждомусценариюпо отдельности • Попробовали композитный тест – все сценарии одновременно нагружаются в соответствии с профилем нагрузки • Попробовали failover • НТ выполнялся специалистами в Oracle, прошедшими краткий курс обучения PostgreSQL. Не выполняли тонкую оптимизациюи т.п. Tech GURU Day, LANIT 12.02.2016 7