An engineer explores why CockroachDB's SELECT ... FOR UPDATE is documented as a 'best-effort' lock that should not be relied upon for correctness under SERIALIZABLE isolation, unlike Postgres/MySQL where it provides a true exclusive lock. The explanation: CockroachDB already guarantees serializability through conflict detection and transaction restarts, so the lock isn't needed for correctness, but it exists purely as a performance optimization to reduce contention (e.g. thundering-herd ticket-sale scenarios) by making transactions wait their turn instead of all retrying simultaneously. The lock is implemented as a fast, unreplicated, in-memory mechanism that can be silently dropped on lease transfers or range splits/merges, even without any failure occurring.
Source: https://gaultier.github.io/blog/what_good_is_a_best_effort_exclusive_lock_anyway.html. 8 Sync News only summarizes and links out; content copyright belongs to the authors and original sources.
Đang tải bình luận…
Supabase đang mua lại Turso để xây dựng cơ sở hạ tầng database cho AI agent. Việc này diễn ra khi cả hai công ty đều đang phát triển các database edge và SQLite. Turso cung cấp cơ sở dữ liệu distributed SQLite với khả năng replication, trong khi Supabase phát triển platform Postgres. Sự hợp tác này sẽ tạo ra hệ thống database mạnh mẽ cho ứng dụng AI, cung cấp hiệu suất cao và khả năng mở rộng linh hoạt cho các hệ thống agent đang phát triển.
Thế hệ lập trình viên cần chuẩn bị cơ sở hạ tầng database cho agentic AI với sự kết hợp của Supabase và Turso.
pg_ivm 1.16 đã được phát hành để khắc phục nhiều lỗi quan trọng, bao gồm lỗi segfault khi materialized view được incremental maintenance bị drop trong cùng transaction. Nguyên nhân kỹ thuật liên quan đến việc xử lý không đúng các cột thiếu default equality operators và quản lý OID sai khi global OID counter vượt quá INT_MAX. Các hệ quả bao gồm transaction thất bại do vấn đề timing khi release lock trong quá trình incremental maintenance. Bài viết đáng học vì nó trình bày chi tiết cách PostgreSQL extension xử lý các vấn đề phức tạp trong maintain materialized views với hiệu năng cao.
Bài viết này giúp lập trình viên biết các sửa lỗi quan trọng trong pg_ivm 1.16 để tránh sự cố khi làm việc với materialized views trong PostgreSQL.
Bài viết khám phá một rò rỉ kết nối PostgreSQL trong dịch vụ Python FastAPI bằng cách sử dụng ChatGPT để phân tích lỗi. Nguyên nhân kỹ thuật được ChatGPT xác định là việc không đóng connection pool sau khi sử dụng, dẫn đến resource exhaustion. Hệ quả là database connection tăng lên 200+ và service crash sau 30 phút. Điểm đáng học là việc yêu cầu ChatGPT chứng minh giải thích bằng code test và PostgreSQL metrics giúp xác thực chính xác vấn đề, demonstrating giá trị của prompt engineering trong debugging.
Bài này giúp lập trình viên học cách sử dụng AI hiệu quả để phân tích lỗi và xác minh giải pháp trong các dự án thực tế với PostgreSQL và FastAPI.
ClickHouse phải giải quyết vấn đề memory safety khi viết extension cho Postgres bằng C/C++, do hai ngôn ngữ này không có bảo vệ tự động. Họ xử lý bằng cách thiết lập ranh giới rõ ràng giữa C và C++ code, cùng với việc sử dụng isolated helper processes. Giải pháp này giúp ngăn chặn buffer overflow và memory leak, đặc biệt quan trọng khi xử lý dữ liệu lớn. Lập trình viên nên đọc bài để hiểu cách ClickHouse quản lý memory giữa các ngôn ngữ khác nhau và áp dụng pattern này vào các dự án của mình.
Bài viết này giải quyết các thách thức về an toàn bộ nhớ khi kết hợp C và C++ cho Postgres extensions, từ ranh giới ngôn ngữ sạch sẽ đến các tiến trình trợ lý được cách ly.
Trong hệ thống phân tán, vấn đề "save-then-publish" có thể gây mất sự kiện (event) mà không ghi log lỗi nào. Nguyên nhân kỹ thuật là transaction database và message broker hoạt động độc lập, dẫn đến tình trạng message bị drop dù insert thành công. Hệ quả là các subscriber không nhận được event cần thiết, làm hỏng tính toàn vẹn dữ liệu. Pattern Outbox + Inbox sử dụng cùng một transaction để lưu cả event và dữ liệu vào database, đảm bảo không mất sót message, thực hiện hiệu quả với Postgres và Node.js.
Bài này giải thích cách tránh mất sự kiện khi lưu trữ dữ liệu bằng pattern Outbox trong Postgres và Node.js.
Bối cảnh: Quản lý dataset lớn và phát triển nhanh chóng là kỹ năng quan trọng cho lập trình viên hiện đại, từ theo dõi log API, giám sát telemetry IoT đến xây dựng dashboard. Nguyên nhân kỹ thuật: Các giải pháp truyền thống như PostgreSQL gặp khó khăn với hiệu suất khi xử lý time-series data, dẫn đến TimescaleDB ra đời như extension PostgreSQL chuyên dụng. Hệ quả: TimescaleDB cho phép xử lý hàng tỷ điểm dữ liệu mỗi ngày với hiệu suất cao hơn 20 lần so với PostgreSQL thông thường, hỗ trợ time-range queries và continuous aggregates. Điều đáng học: Khóa học này sẽ trang bị kiến thức về hypertables, compression policies và API-specific optimizations cho use cases thực tế như IoT monitoring và analytics.
TimescaleDB cung cấp giải pháp tối ưu để xử lý hiệu quả dữ liệu chuỗi thời gian lớn với tốc độ cao.
Concurrency control trong hệ thống phân tạp tồn tại hai hình thức khác nhau và hầu hết lỗi hệ thống phân tạp đều do việc áp dụng sai loại concurrency control. Bài viết giải thích sự khác biệt cơ bản giữa arbitration control và serialization control, trong đó arbitration tập trung vào giải quyết xung đột tài nguyên theo thời gian thực, còn serialization đảm bảo thứ tự thực hiện transaction nhất quán. Các nghiên cứu từ Google và Amazon cho thấy đến 67% lỗi phân tạp liên quan đến việc lựa chọn sai cơ chế concurrency control. Lập trình viên nên nắm vững hai mô hình này để thiết kế hệ thống phân tạp có khả năng mở rộng cao và tránh được các lỗi đồng thời phức tạp.
Bài viết giúp lập trình viên hiểu sự khác biệt giữa arbitration và serialization để tránh lỗi phân tán trong hệ thống.
Bối cảnh là việc phát triển phần mềm bị đình trệ, đặc biệt với dự án Duke Nukem Forever. Nguyên nhân kỹ thuật thường đến từ việc liên tục thay đổi yêu cầu và tái cấu trúc code mà không có kế hoạch rõ ràng. Hệ quả là dự án kéo dài vô hạn, tốn hàng triệu USD và cuối cùng phải hủy bỏ. Điều đáng học là áp dụng phương pháp agile và thiết kế hệ thống vững chắc ngay từ đầu để tránh rơi vào "Duke Nukem Forever Mode".
Bài này giúp lập trình viên tránh sa vào tình trạng trì hoãn vô tận như Duke Nukem Forever.
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 it