Client DuckDB cho Mac, iPhone và iPad
Mở một file cơ sở dữ liệu DuckDB, hoặc trỏ tới một file Parquet, CSV hay JSON và query nó bằng SQL ngay tại chỗ. DuckDB chạy bên trong driver, nên không có server nào chạy trừ khi bạn kết nối tới một server.
Dùng được trên Mac, iPhone và iPadDriver được tải về ở lần đầu bạn chọn DuckDB


Tóm tắt
- Ngôn ngữ query
- SQL
- Driver
- Tải về ở lần dùng đầu
- Cách kết nối
- Một file
- Engine tích hợp sẵn
- DuckDB 1.5.2
- iPhone và iPad
- Mở được
Mở file
Chọn một file .duckdb hoặc .ddb, hoặc nhập đường dẫn tới một file chưa tồn tại để tạo mới. Nhập :memory: nếu bạn cần một cơ sở dữ liệu chỉ tồn tại trong phiên làm việc. File được mở như DuckDB dù tên file là gì, vì DuckDB đánh dấu file của mình ngay ở những byte đầu tiên.
Chọn một file .parquet, .csv, .tsv, .json hoặc .ndjson, file sẽ mở thành các view chỉ đọc trong một cơ sở dữ liệu in-memory, một view tên file và một view mang tên của file. File trên đĩa được giữ nguyên từng byte; muốn đổi nội dung, hãy tạo một table từ file đó trong một cơ sở dữ liệu .duckdb.
Nhấp đúp vào file .duckdb trong Finder để mở bằng TablePro. File Parquet có TablePro trong mục Mở bằng (Open With), và file Parquet chọn bằng Tệp > Mở tệp (File > Open File) sẽ mở thành connection DuckDB thay vì mở trong cửa sổ Data Files.
Chế độ Từ xa (Quack, thử nghiệm) (Remote (Quack, experimental)) kết nối tới một server DuckDB khởi chạy bằng quack_serve và gắn server đó dưới một alias, như remotedb; bạn gọi table của nó bằng tên qua alias đó. Lần kết nối từ xa đầu tiên sẽ tải extension quack từ DuckDB.
Query và chỉnh sửa
Connection nào cũng đọc được file ngay bằng SQL, như SELECT * FROM 'data.csv' hay read_parquet('events.parquet'). ATTACH thêm một file DuckDB khác và nó xuất hiện trong sidebar như cơ sở dữ liệu thứ hai, còn Cmd+K chuyển qua lại giữa chúng mà không cần kết nối lại. DuckDB không giữ file đã attach sau khi bạn kết nối lại.
EXPLAIN được vẽ thành sơ đồ execution plan. Các dòng trong table được sửa với Preview SQL hiển thị trước từng câu lệnh, còn view đọc từ file dữ liệu vẫn chỉ đọc.
Cấu trúc
Tab Structure sửa table và hiển thị DDL trước khi chạy. Ở đây mỗi cơ sở dữ liệu là một file, nên ứng dụng không tạo hay xóa cơ sở dữ liệu; ATTACH là cách để mở thêm file thứ hai.
Chia sẻ file và sao lưu
Khi TablePro đang giữ một file, CLI duckdb, một notebook hay một lần chạy dbt đều không mở được file đó. Hãy đặt Release the File Lock After để trả file lại sau một số phút không hoạt động và lấy lại ở query tiếp theo, hoặc bật Open the File Read-Only để nhiều tiến trình cùng đọc. Release File Lock trong menu Cơ sở dữ liệu (Database) trả file ngay lập tức mà vẫn giữ các tab của bạn. Việc trả file bị từ chối, kèm lý do, khi session còn một transaction đang mở, một temporary table, một cơ sở dữ liệu đã attach hoặc một setting đã đổi.
Server Dashboard hiển thị dung lượng cơ sở dữ liệu, kích thước block, tổng số block, giới hạn bộ nhớ và số thread.
Backup Dump không cần cài gì, vì DuckDB tự ghi bản sao lưu qua connection đang mở. Hãy chọn một file .duckdb nếu sau này muốn khôi phục vào TablePro, hoặc một thư mục gồm schema.sql, load.sql và mỗi table một file Parquet, mà pandas, Spark và BigQuery đọc trực tiếp được. Restore Dump dừng ở đối tượng đầu tiên có tên đã tồn tại.
Di chuyển dữ liệu
Import nhận file CSV, TSV, JSON, JSONL, XLSX và SQL, còn khi export, table và kết quả query được ghi ra CSV, JSON, SQL, XLSX, Markdown, HTML và XML. Plugin Parquet export, cài từ Cài đặt > Plugin (Settings > Plugins), bổ sung định dạng Parquet, mỗi table một file. Xem thêm về làm việc với file như cơ sở dữ liệu.
iPhone và iPad
Bạn tạo được connection DuckDB ngay trong ứng dụng cho iPhone và iPad, và ứng dụng kết nối trực tiếp tới nó.
Trên iPhone và iPad, DuckDB có sẵn trong ứng dụng. File bạn chọn trong ứng dụng Tệp được mở ngay tại chỗ chứ không bị sao chép, hoặc bạn chọn Cơ sở dữ liệu trong bộ nhớ (In-Memory Database) để có một cơ sở dữ liệu nháp. Bạn xem table dưới dạng thẻ và chạy SQL trong tab Truy vấn (Query). Kết nối Từ xa (Quack) chỉ có trên Mac.
Giới hạn
- Mỗi lúc chỉ một tiến trình được ghi vào một file DuckDB, trong suốt thời gian connection mở.
- Driver có sẵn các extension core functions, JSON, Parquet, ICU và autocomplete. Các extension khác, như httpfs, được tải từ DuckDB ở lần đầu một query cần tới.
- Kết nối từ xa qua Quack đang ở giai đoạn thử nghiệm.
Câu hỏi về DuckDB
TablePro dùng phiên bản DuckDB nào?
DuckDB 1.5.2, được biên dịch sẵn trong driver. Phiên bản này không phụ thuộc vào bản DuckDB nào bạn đã cài trên máy.
Nên mở file CSV bằng DuckDB hay trong cửa sổ Data Files?
Hãy mở trong cửa sổ Data Files khi bạn muốn xem qua, làm sạch rồi lưu lại file. Hãy mở bằng DuckDB khi cần join file đó với các file hay table khác bằng SQL; ở đó file chỉ đọc.
Tải TablePro
Yêu cầu macOS 13 Ventura trở lên