DB lentelės CSV failo konvertavimas į SQLite duomenų bazę

Paprastų teksto failų konvertavimas į struktūrizuotas reliacines duomenų bazes leidžia vykdyti greitas užklausas ir valdyti sudėtingus duomenų ryšius.

Pasirinkite arba tempkite failus

Pasirinkite arba nuvilkite failus čia

100% privatus konvertavimas naršyklėje - failai niekada nepalieka jūsų įrenginio

arba įklijuokite Ctrl+V
Nulinio tinklo perdavimo privatumo garantija: 0 baitų įkelta į išorinius serverius. Visas apdorojimas vyko vietoje, jūsų naršyklės smėlio dėžėje (sandbox).

Formatų palyginimas ir techninės specifikacijos

SpecifikacijaCSVSQLITE
MIME tipastext/csvapplication/vnd.sqlite3
Tipastabular dataembedded relational database
GlaudinimasnoneB-Tree page allocation
Standartinė specifikacijaIETF RFC 4180SQLite Database File Format 3
Maginės baitų antraštės (Magic Bytes)RFC 4180 delimiter stream53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00 (SQLite format 3\0)

Formato apžvalga ir taikymas

Kableliais atskirtų reikšmių (CSV) failai puikiai tinka paprastam eksportui ir mažiems sąrašams, tačiau jiems sunku apdoroti milijonus eilučių arba kelias susietas lenteles. Augant duomenų rinkiniams, plokščiam tekstui reikia nuskaityti visą failą iš disko tik tam, kad būtų rasta viena užklausa. Programuotojams ir duomenų analitikams dažnai prireikia perkelti lentelinius įrašus į reliacinį formatą, siekiant pagreitinti paiešką ir užtikrinti duomenų tipų teisingumą. Informacijos perkėlimas į įterptąją reliacinę duomenų bazę paverčia statinį tekstą aktyvia duomenų saugykla. Programos darbalaukio ir mobiliosiose platformose skaito šį formatą gimtąja forma be atskiro serverio proceso. Šis konvertavimas įgalina greitą indeksavimą, filtruotas paieškas ir saugius atnaujinimus iš naujo neperrašant viso failo kiekvieną kartą, kai pasikeičia vos viena eilutė.

Techninės specifikacijos ir kodekų apžvalga

Tekstinis eksportas naudoja „text/csv" MIME tipą, saugodamas duomenis kaip paprastus ASCII arba UTF-8 simbolius, atskirtus kableliais ir naujomis eilutėmis be jokių „magic bytes" ar failo antraščių. „SQLite" naudoja „application/vnd.sqlite3" MIME tipą ir prasideda tikra 16 baitų „magic header" eilute „SQLite format 3\000". Konteinerio viduje duomenys organizuojami naudojant B-medžio (B-Tree) puslapių paskirstymą, padalijant failą į fiksuoto dydžio puslapius, kurie grupuoja lentelės eilutes ir indeksavimo raktus efektyviam paėmimui. Šis konvertavimas yra griežtai nuostolingas, nes kiekviena teksto reikšmė, sveikasis skaičius ir slankiojo kablelio skaičius tiesiogiai susiejami su apibrėžtais duomenų bazės stulpeliais.

OS ir naršyklės suderinamumas

„SQLite" failai gimtąja forma atsidaro „Windows", „macOS", „Linux", „Android" ir „iOS" sistemose per integruotas sistemos bibliotekas ir komandinės eilutės įrankius. Šiuolaikinės žiniatinklio naršyklės taip pat gali vietiniu lygiu skaityti ir užklausti šias duomenų bazes, naudodamos „WebAssembly" variklio kompiliaciją. CSV teksto failai dalijasi universaliu suderinamumu su teksto redaktoriais ir skaičiuoklių programomis, tačiau neturi integruotų užklausų apdorojimo galimybių visose platformose.

💡 Naudinga informacija

Konversijos metu visada apibrėžkite aiškius duomenų tipus, tokius kaip INTEGER ir REAL, vietoj to, kad kiekvieną stulpelį saugotumėte kaip TEXT, nes tai padės išlaikyti mažesnius duomenų bazės failus ir užtikrins greitesnį užklausų vykdymą.

Formatų palyginimas ir techninės specifikacijos

50 MB CSV teksto failas atsisiunčiamas per maždaug 10 sekundžių naudojant standartinį 4G ryšį, per 2 sekundes per 5G ir greičiau nei per sekundę per šviesolaidį. Konvertavus į indeksuotą duomenų bazę, gaunamas failo dydis dažnai šiek tiek sumažėja dėl dvejetainio pakavimo, o užklausų vykdymo laikas sumažėja nuo sekundžių iki milisekundžių.

Dažnai užduodami klausimai

Kaip konvertuoti DB lentelės CSV į SQLite duomenų bazę neprarandant kokybės?

Konversija yra 100 procentų nuostolinga. Kiekviena eilutė, skaičius ir tekstinė eilutė iš teksto failo patenka tiesiai į duomenų bazės lentelės stulpelius, nepakeičiant jokio skaitmeninio tikslumo ar teksto simbolių.

Kuo skiriasi DB lentelės CSV ir SQLite duomenų bazė?

CSV failas yra plokščias, neindeksuotas teksto dokumentas, kurio kiekvieną eilutę reikia nuskaityti nuo viršaus iki apačios. „SQLite" duomenų bazė yra struktūrizuotas dvejetainis failas, kuris naudoja B-medžio puslapius ir indeksus specifiniams įrašams akimirksniu surasti.