The OLTP vs OLAP post. What InnoDB was optimizing for, and the two paths that make a lakehouse work: pruning on the read and the atomic pointer swap commit.
Source: https://marcpaul.io/logs/same-job-two-engines-innodb-and-iceberg-internals. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Read the news here, practice coding, follow structured courses and train for IELTS on our sibling products — all connected through one 8 Sync account.
The ecosystem home: product overviews, blog and full pricing.
ExploreLearn along a clear roadmap: videos, auto-graded quizzes, certificates and mentors who ship for a living.
View the roadmap1,000 DSA problems in Vietnamese, auto-graded across 7 languages — many FREE, right in your browser.
Practice for freeAI grading for all four IELTS skills with detailed rubric feedback.
Try it freeA 22 MB AI IDE for Vietnamese devs.
Download freeOrganizational memory for AI agents.
ExploreAI that staffs your Fanpage and qualifies leads for you.
Try itViệc sử dụng SELECT trong ứng dụng gây ra chi phí ẩn: chuyển các cột không cần thiết qua mạng, làm tăng kích thước dữ liệu và thời gian xử lý tại client; nó phá vỡ tối ưu hóa covering index buộc MySQL phải lấy toàn bộ hàng; tạo ra code dễ vỡ khi hành vi thay đổi âm thầm khi thêm, đổi tên hoặc trùng lặp cột qua join; và rò rỉ dữ liệu nhạy cảm như internal_notes trong response API, logs hoặc exports. Bài viết đưa ra ví dụ cụ thể về covering indexes, join với tên cột trùng, và rò rỉ dữ liệu, khuyến nghị nên dùng danh sách cột cụ thể thay vì SELECT trong production code. Tuy nhiên, SELECT vẫn hữu ích cho việc khám phá nhanh hoặc dùng với COUNT().
Sử dụng SELECT * trong mã ứng dụng gây ra chi phí ẩn làm tăng thời gian xử lý và nguy cơ rò rỉ dữ liệu.
Delta Kernel là thư viện dựa trên Rust từ Databricks và đội ngũ Delta Lake, cung cấp API thống nhất để đọc và ghi vào Delta table. Các công cụ như DuckDB và Polars gặp khó khăn khi theo kịp các thay đổi không tương thích ngược của Delta Protocol như deletion vectors, vấn đề mà Delta Kernel giải quyết. Tác giả xây dựng một CLI nhỏ bằng Rust sử dụng Delta Kernel để nhập CSV vào Delta table trên S3 và xuất Delta table sang Parquet, bao gồm snapshot creation, schema checks, transactions và commits. Delta Kernel được định vị là cơ sở hạ tầng nền tảng, tương tự DataFusion, mà các công cụ khác sẽ ngày càng dựa vào, cùng với các Rust crate mới cho Unity Catalog.
Delta Kernel cung cấp API thống nhất để đọc và ghi Delta tables, giải quyết vấn đề tương thích với các thay đổi protocol như deletion vectors.
MySQL 26.7 giới thiệu mô hình lịch mới, đánh dấu sự chuyển đổi lớn trong cách phiên bản hóa phần mềm. Thay vì việc sử dụng định dạng phiên bản theo quy ước cũ (ví dụ: 8.0), phiên bản này áp dụng mô hình 26.7, với số đầu tiên đại diện cho năm và số thứ hai cho tháng. Sự thay đổi này nhằm mục đích giúp người dùng dễ dàng xác định thời điểm phát hành phiên bản và cải thiện khả năng lập kế hoạch cập nhật. Sự điều chỉnh này cho thấy xu hướng hướng tới minh bạch hóa thông tin phiên bản trong hệ sinh thái database. Các lập trình viên nên cân nhắc hiểu rõ mô hình này để quản lý dự án và cơ sở dữ liệu hiệu quả hơn trong tương lai.
Bài viết này giúp lập trình viên nắm bắt sự thay đổi quan trọng trong mô hình phiên bản MySQL 26.7 và hiểu tác động đến công việc phát triển ứng dụng.
iSAM Funds đối mặt với bài toán xử lý dữ liệu options với quy mô 10,000 lần lớn hơn thông thường. Họ sử dụng ClickHouse Cloud để giải quyết vấn đề này, đạt mức nén dữ liệu 35-50x và tốc độ nhập dữ liệu single-core nhanh hơn 100 lần. Nhờ giải pháp này, họ đã đơn giản hóa đáng kể các pipeline dữ liệu phức tạp. Bài viết cho thấy sức mạnh của ClickHouse trong xử lý dữ liệu tài chính lớn với hiệu suất vượt trội.
Bài viết này giúp lập trình viên hiểu cách ClickHouse Cloud giải quyết bài toán xử lý lượng dữ liệu lớn với hiệu suất vượt trội.
Semantic Studio đã chính thức ra mắt, cho phép lập trình viên tạo, debug và triển khai semantic views ngay trong Snowflake Workspaces. Công nghệ tích hợp Snowflake CoCo cùng quản lý phiên bản git và CI/CD trong một môi trường duy nhất giúp tăng hiệu suất làm việc. Việc này giảm thiểu sự phức tạp khi phải chuyển đổi giữa các công cụ khác nhau khi làm việc với dữ liệu có cấu trúc. Đối với các nhà phát triển Snowflake, đây là giải pháp giúp tối ưu hóa quy trình phát triển ứng dụng dữ liệu đáng cân nhắc.
Semantic Studio giúp lập trình viên quản lý và phát triển semantic views trong Snowflake Workspaces với các công cụ hiện đại như CoCo, git versioning và CI/CD.
Người thực hành MySQL khuyên không nên dùng các kiểu dữ liệu phức tạp như TIMESTAMP, DATE/TIME hay ENUM, thay vào đó nên dùng các kiểu số đơn giản hơn. Việc sử dụng ENUM gặp vấn đề khi xóa giá trị buộc phải rebuild toàn bộ bảng, cùng lỗi MySQL khiến MIN()/MAX() hoạt động không nhất quán trên ENUM.
Lập trình viên nên đọc bài này để tránh rủi ro về hiệu suất, tính bảo trì và tính nhất quán khi sử dụng các kiểu dữ liệu phức tạp như ENUM và TIMESTAMP trong MySQL, mà thay vào đó có thể áp dụng các giải pháp đơn giản và đáng tin cậy hơn.
Trên instance GCP c4d-standard-4, tiến trình MySQL tiêu tốn 10.4 GB RAM dù innodb_buffer_pool_size chỉ được thiết lập là 7168 MB. Khoảng trống này được truy qua 4 lớp: dự kiến overhead từ InnoDB/Performance Schema/thread-buffer, khoảng ~9% mmap chunk padding trên buffer pool, sự tích tụ dirty pages của jemalloc trên DR replica không hoạt động, và nguyên nhân gốc - MALLOC_CONF không được thiết lập khiến decay của background_thread bị vô hiệu hóa. Các sửa chữa gồm giảm buffer pool thành bội số sạch (6144 MB), cắt giảm max_connections từ 3000 xuống 500, bật background_thread của jemalloc với decay 5 giây, và thêm swap để phòng OOM, giúp giảm RSS xuống còn ~7.9 GB. Bài viết cung cấp kiến thức sâu về quản lý memory của MySQL khi sử dụng jemalloc, cách tối ưu buffer pool size và thiết lập MALLOC_CONF phù hợp.
Lập trình viên cần đọc bài này để hiểu cách điều khiển và tối ưu hóa bộ nhớ InnoDB trên MySQL khi các tham số cơ bản như innodb_buffer_pool_size không đủ để giải quyết cảnh báo nhớ, khi hệ thống vẫn tiêu thụ nhiều bộ nhớ hơn dự kiến do các yếu tố như cấu hình bộ nhớ phân vùng, quá trình làm sạch nhớ của jemalloc, hoặc tình trạng replica hoạt động không hiệu quả.
Dalibo đã phát hành bản ổn định 1.0 của PostgreSQL Migrator, công cụ mã nguồn mở miễn phí cho phép di chuyển database từ Oracle và MySQL/MariaDB sang PostgreSQL. Được xây dựng hoàn toàn bằng Go, công cụ này cung cấp khả năng kiểm tra catalog ngoại tuyến, đánh giá độ phức tạp, giao diện web tương tác, chuyển đổi schema và dữ liệu, biên dịch SQL/PL-SQL qua công cụ transqlate, và sao chép dữ liệu tốc độ cao. PostgreSQL Migrator hỗ trợ nguồn từ Oracle 11g đến 26ai và MySQL 8.4+/MariaDB 10+, nhắm đến PostgreSQL 16-19, với bản 1.0 hiện chỉ hỗ trợ chuyển đổi roles, schemas, sequences, tables, virtual columns, constraints và indexes. Dự án đạt độ ổn định sau 1 năm beta và release candidates, với cam kết tương thích về cấu hình, CLI và dự án cho tất cả các bản 1.x.
PostgreSQL Migrator 1.0 cung cấp giải pháp toàn diện để chuyển đổi cơ sở dữ liệu từ Oracle và MySQL sang PostgreSQL với nhiều tính năng mạnh mẽ.
Đang tải bình luận…