Kako otvoriti velik SQL dump na Macu (bez rušenja)

Dvaput kliknete na izvoz .sql od 20–50 GB i vaš editor se vrti, zamrzne, pa se ugasi. Ne možete čak ni otvoriti datoteku — a kamoli ukloniti jednu nabujalu tablicu. Evo zašto se editori guše, zaobilazna rješenja putem naredbenog retka i brži način.

Dump produkcijske baze podataka lako doseže desetke gigabajta. Čim ga pokušate otvoriti u običnom uređivaču teksta, ventilator vašeg Maca se zavrti, pojavi se rotirajuća kuglica, a na kraju se aplikacija ugasi — ponekad povlačeći nespremljeni rad u drugim prozorima sa sobom.

Zašto se editori guše na velikim dumpovima

VS Code, TextEdit, Sublime Text i slični dizajnirani su da učitaju cijelu datoteku u memoriju kako bi mogli trenutno pomicati, pretraživati i isticati. To je u redu za izvornu datoteku od 2 MB. Za dump od 40 GB to znači da editor pokušava alocirati 40 GB (plus dodatni prostor za svoje interne strukture podataka) u RAM.

Vaš Mac ima 16 ili 32 GB. Puno prije nego što se datoteka potpuno učita, sustavu ponestane fizičke memorije, počne swappirati na disk i stane. Većina editora također izravno odbija: VS Code ograničava datoteke na oko 50 MB za puni uređivač i prelazi u pojednostavljeni način rada, TextEdit se jednostavno zablokira, a Sublime alocira dok se ne sruši. Čak i ako uspijete otvoriti datoteku, isticanje sintakse i pretraživanje ponovno će skenirati gigabajte na svaki pritisak tipke.

Ključni problem: ovi alati pretpostavljaju nasumičan pristup cijelom dokumentu. Dumpu to nije potrebno — on je sekvencijalni popis naredbi. Trebate samo protočno proći kroz njega.

Način naredbenog retka

Unix alati na vašem Macu već rade protočno, pa nikada ne učitavaju cijelu datoteku. Oni su klasično prvo rješenje:

# Zaviri u prve i zadnje retke bez otvaranja cijele datoteke
head -n 50 dump.sql
tail -n 50 dump.sql

# Podijeli dump na dijelove od 100 MB nazvane part_aa, part_ab, ...
split -b 100m dump.sql part_

# Izvuci blok jedne tablice između dva markera
sed -n '/CREATE TABLE `users`/,/UNLOCK TABLES/p' dump.sql > users.sql

Ovo radi, ali je krhko i mukotrpno. split -b reže na granicama sirovih bajtova, pa će presjeći ravno kroz sredinu INSERT naredbe — dobiveni dijelovi sami po sebi nisu valjan SQL. Trik s rasponom u sed-u ovisi o točnim markerima koje određeni alat za dump slučajno ispisuje; promijenite verziju MySQL-a ili prijeđite na PostgreSQL i uzorak više ne odgovara. I ništa od toga vam ne daje uvid u ono što je zapravo u datoteci — nagađate koja je tablica ona od 30 GB prije nego što je uopće možete ciljati.

Otvorite je i filtrirajte s DumpCleanerom

DumpCleaner je napravljen upravo za ovu veličinu datoteke. Protočno obrađuje dump kao što to radi naredbeni redak, ali razumije SQL strukturu, pa dobivate pravi popis tablica te siguran izlaz svjestan naredbi:

  1. Povucite datoteku unutra. DumpCleaner otvara dump protočno ga obrađujući u dijelovima od ~1 MB — datoteka od 50 GB otvara se s otprilike 50 MB RAM-a, pa se ništa ne zamrzava.
  2. Vidite svaku tablicu. Skenira dump i navodi svaku tablicu s njezinom veličinom, pa odmah uočite koja napuhuje datoteku.
  3. Odznačite ono što vam ne treba. Odznačite golemu tablicu logova, sesija ili analitike. DumpCleaner čuva cijele naredbe netaknutima — nema napola prerezanih INSERT-ova.
  4. Izvezite. Zapišite novu, manju .sql datoteku koja se napokon udobno otvara i uvozi. Vaša izvorna datoteka nikada se ne mijenja.

Budući da obrađuje dumpove od 50 GB i veće uz konstantnu memoriju, uopće ne morate razmišljati o RAM-u svog Maca. A budući da čita izvor i zapisuje zaseban izlaz, dump s kojim ste započeli ostaje točno onakav kakav je bio.

Otvorite dumpove koje vaš editor ne može

DumpCleaner protočno obrađuje SQL dumpove bilo koje veličine uz konstantnu memoriju — bez rušenja, bez swappiranja, bez čekanja. Povucite datoteku od 50 GB, uklonite tablice koje vam ne trebaju, izvezite manju. Nativna macOS i iPadOS aplikacija, jednokratna kupnja.

Preuzmi na App Storeu

Često postavljana pitanja

Koliko velik SQL dump DumpCleaner može obraditi?

Nema fiksnog ograničenja. Datoteku obrađuje protočno u malim dijelovima, pa dumpovi od 50 GB i veći rade kao i mali — veličinu ograničava vaš disk, a ne RAM.

Učitava li DumpCleaner cijelu datoteku u RAM?

Ne. Za razliku od uređivača teksta, čita dump u malim dijelovima i drži memoriju otprilike konstantnom na oko 50 MB, bez obzira je li datoteka 200 MB ili 50 GB.

Mogu li podijeliti dump po tablici?

Da. Umjesto da split reže naslijepo na granicama bajtova, DumpCleaner razumije strukturu tablica. Odznačite tablice koje ne želite i izvezite čistu datoteku samo s onima koje zadržavate.

Mijenja li DumpCleaner moju izvornu datoteku?

Ne. Izvorni dump se samo čita — DumpCleaner uvijek zapisuje novu datoteku, pa vaš izvornik ostaje netaknut.

Prestanite se boriti sa svojim editorom

Povucite golemi dump, uklonite tablice koje vam ne trebaju, izvezite datoteku koja se zaista otvara. DumpCleaner obrađuje bilo koju veličinu uz konstantnu memoriju.

Preuzmi na App Storeu