SQL Server 2008 Spatial ja paikkatieto - jälleen uusi syy tehdä migraatio Oraclesta SQL Serveriin
SQL Server 2005 toi mukanaan liiketoimintakriittisiin ympäristöihin sekä BI-ratkaisuihin teknologioita ja tietokannan lisenssiin kuuluvia ominaisuuksia, joiden ansiosta kuluneen 18 kuukauden aikana on suoritettu muutamia erittäin mielenkiintoisia raskaan sarjan migraatioita kilpailevista teknologioista Windows Server 2003 -alustalle sekä SQL Server 2005 -tietokantaan. Entisenä Oraclen tietokantateknologioiden tuotepäällikkönä minäkin olen kaipaillut kuitenkin tiettyjä ominaisuuksia SQL Serveriin - ja eräs tärkeimmistä on tuki paikkatiedon tallentamiselle natiivisti tietokantaan. Tämä asia on kuitenkin viimein korjaantumassa kun Spatial-tuki eli paikkatiedon tallentaminen tietokantaan sekä geodeettisessa että planaarisessa karttakoordinaatistossa on sekä SQL Server 2008 Enterprisen että Standardin vakio-ominaisuus. Spatial ominaisuudesta ei siis tarvitse maksaa lisähintaa.
Uusi GEOGRAPHY -datatyyppi mahdollistaa geodeettisen datan tallentamisen relaatioskeemaan sekä karttaobjekteihin liittyvät laskenta- ja käsittelyoperaatiot. Vastaavasti GEOMETRY -datatyyppi on tarkoitettu planaarisen (eli tasoon venytetyn) paikkatiedon tallentamiseen ja sisältää vastaavat käsittelyoperaatiot. Oheisessa linkissä on yleiskuvaus paikkatietotyypeistä.
Minulta on kyselty vertailevaa matriisitaulukkoa Oracle Spatialin ja SQL Server 2008:n Spatialin välillä. Tällaista ei vielä toistaiseksi ole julkisesti saatavilla, mutta molemmat teknologiat ovat toki julkisesti dokumentoituja. SQL Server 2008:n Spatial-ominaisuuksista löytyy tietoa esim. Microsoft Developer Networkin (MSDN) dokumentaatiossa sekä erilaisten teknisten whitepaper-dokumenttien muodossa.
Migraatioista puheenollen - Microsoftilla on myös työkalu, joka helpottaa suuresti Oracle-tietokantojen skeemojen, tallennettujen proseduurien (PL/SQL) ja funktioiden sekä itse datan migraatiota SQL Server 2008 -tietokantaan. Työkalu tekee ensin arvion lähdetietokannan (Oracle 8i tai uudempi) skeemoista ja migroitavasta koodista sekä datasta. Sen jälkeen saa raportin, jossa työkalu kertoo kuinka suuren osan Oracle-kannan skeemoista se pystyy itse konvertoimaan ja kuinka paljon käsityötä joudutaan tekemään. Tämän jälkeen työkalu luo kohdeinstanssiin (SQL Server 2005 tai 2008) vastaavat skeemat, konvertoi PL/SQL -koodin T-SQL -proseduureiksi ja funktioiksi, rakentaa Oraclen sekvenssejä vastaavat rakenteet yms. Lopuksi työkalu suorittaa itse datamigraation. Työkalussa on myös testausosio, jossa voi varmistaa että tallennettujen proseduurien ja funktioiden logiikka toimii samalla tavalla sekä lähde- että kohdejärjestelmässä.
Luonnollisestikin migraatiotyökalu on vain apuväline ratkaisukumppaneille ja tietokantasovelluskehittäjille. Esim. Oracle Forms & Reports -teknologioita hyödyntävissä sovelluksissa tulee varmastikin omia haasteita eikä väline tietenkään ota kantaa myöskään varsinaiseen sovellusarkkitehtuuriin. Hyvää sovellusarkkitehtia siis kannattaa hyödyntää - ja apua saa myös tarvittaessa Microsoftin palveluyksiköstä.
SQL Server Migration Assistant 2008 for Oracle V4.0 CTP1 on vapaasti ladattavissa tämän linkin takaa:
Ja muuten: Isaac Kunenin blogissa on mielenkiintoista tuotekehityksen taustatietoa SQL Server 2008 Spatialista.