Što je zapravo IANA baza podataka vremenskih zona
Ako ste ikada radili s datumima i vremenima u softveru, oslanjali ste se na IANA bazu podataka vremenskih zona, bilo toga svjesni ili ne. Poznata je pod nekoliko imena – tz baza podataka, tzdata, Olsonova baza podataka ili zoneinfo – ali sva se odnose na istu stvar: suradnički, besplatno dostupan katalog svjetskih vremenskih zona i pravila koja ih uređuju.
Riječ "katalog" ne dočarava njezin puni značaj. Baza podataka ne navodi samo koje se regije nalaze na kojem UTC odmaku. Ona bilježi potpunu povijest civilnog mjerenja vremena za svaku regiju – svaku promjenu odmaka, svaku tranziciju ljetnog vremena, svaki ratni pomak sata i svako planirano buduće pravilo – u mnogim slučajevima sve do sredine 19. stoljeća kada je lokalno srednje vrijeme ustupilo mjesto standardiziranim zonama. Kada vaša kalendarska aplikacija ispravno pokaže da se sastanak 1985. godine dogodio jedan sat pomaknut u odnosu na isto zidno vrijeme danas, na djelu je tz baza podataka.
Temelji se na tekstu, čitljiva je za ljude i male je veličine. Kompilirani binarni oblik koji dolazi s vašim računalom ima samo nekoliko megabajta. Ipak, sadrži jedan od najtiše složenih skupova podataka u računalstvu.
Kratka povijest
Projekt je započeo 1980-ih pod vodstvom Arthur Davida Olsona, koji je sastavio prvu verziju i smjestio je na poslužitelje američkog Nacionalnog instituta za zdravlje (NIH). Desetljećima se održavao uglavnom volonterskim naporom koordiniranim putem javne mailing liste, zbog čega se starije ime "Olsonova baza podataka" još uvijek pojavljuje u dokumentaciji.
Paul Eggert preuzeo je ulogu glavnog urednika i ostao dugogodišnji koordinator projekta. Njegova kompilacija pratećeg dokumenta theory.html i pomna povijest unosa učinile su bazu podataka jednako povijesnom referencom koliko i tehničkom.
Godine 2011., nakon kratkog, ali alarmantnog pravnog spora oko povijesnih podataka, skrbništvo je prešlo na Internet Assigned Numbers Authority (IANA) – isto tijelo koje koordinira ostale temeljne internetske resurse. IANA sada objavljuje službena izdanja, zbog čega je "IANA baza podataka vremenskih zona" postala kanonski naziv. Rad i dalje obavlja ista zajednica suradnika; IANA pruža institucionalni dom i stabilnu točku distribucije.
Konvencija imenovanja: Područje/Lokacija
Jedna od najizraženijih značajki baze podataka je način imenovanja zona. Umjesto imena država ili sirovih odmaka, koristi format Područje/Lokacija, gotovo uvijek vezan uz reprezentativni grad:
America/New_YorkEurope/LondonAsia/KolkataAustralia/Sydney
"Područje" je obično kontinent ili ocean (America, Europe, Asia, Pacific), a "Lokacija" je poznati grad unutar zone. Ovaj izbor djeluje neobično dok ne shvatite obrazloženje iza njega.
Gradovi su stabilni; političke granice i odmake nisu. Države se dijele, spajaju, preimenuju i mijenjaju svoje satove. Grad je, nasuprot tome, fiksna geografska točka s kontinuiranom poviješću mjerenja vremena. Imenovanje zone America/New_York umjesto "US Eastern Time" ili "UTC-5" znači da identifikator ostaje valjan čak i dok se pravila koja su mu pridružena mijenjaju.
Baza podataka također namjerno izbjegava imena država kako bi zaobišla političke sporove i jer jedna država često sadrži nekoliko zona – Sjedinjene Države imaju više od desetak. Odabire najnaseljeniji ili povijesno najznačajniji grad u svakoj zasebnoj zoni kao neutralnu oznaku. Kada dvije regije dijele identičnu povijest satova od 1970. godine, dijele jednu zonu; čim im se povijesti raziđu, dobivaju zasebne unose.
Zašto sirovi odmake nisu dovoljni
Uobičajeni instinkt početnika jest pohraniti vrijeme kao "UTC+5:30" i smatrati to gotovim. To funkcionira za jedan trenutak, ali propada čim trebate razmišljati o budućim ili ponavljajućim događajima, jer odmake nisu statična svojstva mjesta. Oni su rezultat pravila koja vlade neprestano i često naglo mijenjaju.
Razmotrite nekoliko stvarnih primjera koje je baza podataka morala apsorbirati:
- Samoa je potpuno preskočila 30. prosinca 2011. Kako bi uskladila svoj radni dan s Australijom i Novim Zelandom umjesto sa Sjedinjenim Državama, Samoa je preskočila međunarodnu datumsku granicu, prešavši s UTC-11 na UTC+13. Za sve na otocima taj petak jednostavno nije postojao.
- Države ukidaju, uvode ili mijenjaju raspored ljetnog vremena s malo najave. Europska unija raspravlja o ukidanju ljetnog vremena; nekoliko država i američkih saveznih država promijenilo je pravila ljetnog vremena u posljednjim desetljećima. Turska, Rusija i druge su potpuno promijenile svoje standardne odmake.
- Datumi početka i kraja ljetnog vremena se pomiču. Sjedinjene Države pomaknule su granice ljetnog vremena 2007. Svaki sustav koji je ukodirao staro pravilo tiho je proizvodio pogrešna vremena tjednima svake godine.
Ako pohranite samo odmak, ne možete odgovoriti na pitanje "koliko će biti lokalno vrijeme u Santiagu 15. studenog iduće godine?" – jer odgovor ovisi o pravilima koja možda još nisu ni finalizirana. Pohranjivanje identifikatora zone (America/Santiago) plus baza podataka omogućuje softveru da izračuna ispravan odmak za bilo koji trenutak, prošli ili budući, te ga automatski ponovno izračuna kada se pravila promijene.
To je temeljna vrijednost: tz baza podataka odvaja identitet mjesta od neprestano promjenjivih pravila koja određuju njegov sat.
Kako se održava
Održavanje je javno. Prijedlozi promjena – novo pravilo ljetnog vremena, ispravljen povijesni datum, vladina najava – raspravljaju se na javnoj tz mailing listi, gdje suradnici citiraju službene glasnike, novinske izvještaje i vladine uredbe kao dokaz. Točnost se shvaća ozbiljno; posebno se promjene povijesnih podataka provjeravaju prema primarnim izvorima.
Izdanja su označena godinom i slovom: 2024a, 2024b, 2024c i tako dalje. Broj je godina; slovo se povećava sa svakim izdanjem te godine. Budući da vlade najavljuju promjene satova po vlastitom nepredvidivom rasporedu, nema fiksnog rasporeda izdanja – mirna godina može imati dva izdanja, dok godina političkih previranja ima mnogo. Očekuje se da sustavi ažuriraju bazu podataka promptno, jer zastarjela baza podataka može značiti prikaz pogrešnog vremena nakon što promjena pravila stupi na snagu.
Tko ovisi o njoj
Gotovo sve.
- Operativni sustavi. Linux distribucije isporučuju
tzdatakao temeljni paket. macOS dobiva svoje podatke o zonama iz istog izvora. Windows iz povijesnih razloga koristi vlastite zone temeljene na registru, ali izlaže IANA zone putem ICU biblioteke i modernih API-ja. - Programski jezici. Gotovo svaka zrela biblioteka za datume/vrijeme čita iz ili uključuje tz bazu podataka: Pythonov
zoneinfo, Javinjava.time, ICU projekt, PostgreSQL, JavaScript jezgre putem ICU-a, Ruby, PHP i mnogi drugi. - Aplikacije. Kalendari, sustavi za rezervacije, platforme za financijsko trgovanje, alati za analizu zapisa i usluge zakazivanja – sve se oslanja na nju, obično bez razmišljanja programera.
Upravo ta sveprisutnost čini bazu podataka toliko važnom. Jedinstven, zajednički, pažljivo održavan izvor istine znači da se sastanak zakazan u jednom sustavu ispravno prikazuje u drugom, na različitim operativnim sustavima i jezicima, desetljećima u prošlost ili budućnost.
Ako želite istražiti same zone, pregledajte cijeli popis vremenske zone IANA ili pogledajte kako su mapirane diljem svijeta u našem imeniku sve vremenske zone.
Često postavljana pitanja
Je li tz baza podataka isto što i tzdata, zoneinfo i Olsonova baza podataka?
Da. Ovo su sve nazivi za isti projekt. "tzdata" obično se odnosi na podatkovne datoteke upakirane za operativni sustav, "zoneinfo" na kompilirani binarni direktorij, a "Olsonova baza podataka" starije je povijesno ime prema osnivaču Arthuru Davidu Olsonu. Danas je službeni naziv IANA baza podataka vremenskih zona.
Koliko se često baza podataka ažurira?
Nema fiksnog rasporeda. Izdanja su potaknuta stvarnim događajima – vlada mijenja pravila ljetnog vremena ili standardni odmak, ili ispravak povijesnih podataka. Neke godine imaju jedno izdanje; druge godine nekoliko. Svako se označava poput 2024a, 2024b, s povećanjem slova tijekom godine.
Zašto imenuje zone po gradovima poput America/New_York?
Gradovi su geografski fiksni i imaju kontinuiranu povijest mjerenja vremena, dok se države, granice i odmake mijenjaju tijekom vremena. Korištenje reprezentativnog grada daje svakoj zoni stabilan, politički neutralan identifikator koji ostaje valjan čak i kada se temeljna pravila ljetnog vremena ili odmaka promijene.
Mogu li jednostavno pohraniti UTC odmak umjesto imena zone?
Samo za jedan fiksni trenutak. Za buduće ili ponavljajuće događaje trebali biste pohraniti identifikator zone, jer se odmake mijenjaju s ljetnim vremenom i vladinim odlukama. Ime zone plus baza podataka omogućuje softveru da automatski izračuna ispravan odmak za bilo koji datum.
Tko sada vodi projekt?
Objavljuje ga IANA, koja je preuzela skrbništvo 2011. godine, a koordinira ga Paul Eggert sa zajednicom suradnika koji rade na javnoj tz mailing listi. Tehnički rad ostaje suradnički, volonterski napor.