Uk:Database
Основна база даних – стрижневий компонент OpenStreetMap, тому що саме тут зберігаються всі дані.
Візьміть до уваги, що тут зберігаються й інші дані проєкту, а не тільки ті, що використовуються для створення мап. Перегляньте розділ з описом компонентів, щоб дізнатись з чого складається база даних.
Доступ до бази даних для редагування даних надається засобами API. Якщо у вас є потреба в отриманні даних ознайомтесь з різноманітними API, які можуть стати вам в пригоді.
Модель даних
База даних має таблиці для кожного типу елементів даних (точок, ліній, зв'язків). Насправді кожний тип даних має кілька таблиць для збереження інформації: таблиця з поточними даними, таблиця з історичними даними, таблиця поточних теґів, таблиця з історичними теґами. Крім того, існують таблиці для зберігання даних наборів змін, файлів gpx, профілів користувачів, записів щоденника, поточних сеансів, OAuth тощо.
Опис схеми бази даних : https://github.com/openstreetmap/openstreetmap-website/blob/master/db/structure.sql, Rails port/Database schema.
Розміри таблиць (станом на 2016/10/31): Database/TableInfoDump
Для пришвидшення виконання запитів для всіх точок використовуються індекси QuadTiles (з використанням індексів B-tree в PostgreSQL).
Різні бази даних можуть бути побудовані по різному, в залежності від їх призначення. Наприклад, більшості застосунків потрібні лише поточні картографічні дані. Різноманітні інструменти для роботи з даними OSM використовують різні варіанти побудови баз даних (див Databases#Database_Schemas).
Сервера Postgres
У разі виникнення проблем дивіться інформацію про стан платформи.
Налаштування кластера здійснюється за допомогою Chef-рецептів, які розташовані тут - https://github.com/openstreetmap/chef
Те, що відбувається на кожній машині, визначається в ролях, а налаштування машин, пов’язаних з базою даних, контролюється книгою рецептів «db». https://github.com/openstreetmap/chef/tree/master/roles https://github.com/openstreetmap/chef/tree/master/cookbooks/db
Статистика бази даних
Моніторинг всіх серверів здійснюється за допомогою Munin (в реальному часі графіки показують використання ресурсів серверів).
https://hardware.openstreetmap.org/, дані про кожен сервер генеруються автоматично з використанням Chef-рецептів їх налаштувань.
Дивіться також розділ Статистика.
Історія
19 квітня 2009 - OpenStreetMap перейшов з MySQL на використання сервера PostgreSQL для головного сайту [1], який є частиною rails port.
1 квітня 2012 р. - розпочато процес переходу на новий сервер.