Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
900,97 KB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN BÁO CÁO CUỐI KÌ Mơn học: Hệ thống mã nguồn mở Mã lớp: COMP104301 Thành phố Hồ Chí Minh, ngày tháng 10 năm 2022 Tieu luan TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN BÁO CÁO CUỐI KÌ Mơn học: Hệ thống mã nguồn mở Mã lớp: COMP104301 Thành viên nhóm : 46.01.104.062: Nguyễn Hồ Xuân Hương 46.01.104.072: Nguyễn Nhất Huy 46.01.104.179: Mai Tứ Quý 46.01.104.159: Trần Nhật Tân Giáo viên hướng dẫn: Thành phố Hồ Chí Minh, ngày 02 tháng 10 năm 2022 Tieu luan Page |1 Tổng quan 1.1 TimescaleDB gì? TimescaleDB sở liệu quan hệ mã nguồn mở cho liệu chuỗi thời gian. Nó sử dụng SQL đầy đủ dễ sử dụng sở liệu quan hệ truyền thống, lại mở rộng quy mô theo cách trước dành cho sở liệu NoSQL PostgreSQL siêu nạp TimescaleDB sử dụng PostgreSQL mà bạn biết yêu thích, với SQL đầy đủ, độ tin cậy vững hệ sinh thái lớn công cụ quản lý nhà phát triển SQL đầy đủ , khơng có hạn chế Tận dụng các tiện ích mở rộng PostgreSQL yêu thích bạn Tồn bộ cơng cụ bạn hoạt động : ORM, trình kết nối, JDBC, ứng dụng Kết nối Prometheus để biết tất số khả quan sát bạn Trực quan hóa liệu cách sử dụng trang tổng quan mà bạn yêu thích Tăng tốc hiệu suất Đạt truy vấn nhanh 10-100 lần so với PostgreSQL, InfluxDB MongoDB. Tận dụng song song truy vấn, tổng hợp liên tục tối ưu hóa hiệu suất khác Đạt số lần chèn nhanh 10 lần nhập thêm 1,5 triệu số giây trên máy chủ để có khối lượng cơng việc có dung lượng cao Tieu luan Page |2 Truy vấn chuỗi thời gian tối ưu hóa và phân tích chuỗi thời gian nâng cao Thơng tin chi tiết theo thời gian thực về các tổng hợp liên tục tự động Quét nhanh qua nhớ cột nén Truy vấn nhanh hơn trong phạm vi thời gian dài với lấy mẫu xuống Quy mô lớn Ghi hàng triệu điểm liệu giây. Lưu trữ hàng trăm terabyte nút petabyte nhiều nút. Xử lý liệu số lượng cao cách dễ dàng Lưu trữ hàng trăm tỷ hàng và hàng trăm TB liệu máy chủ nén hàng chục TB không nén Ghi lại hàng tỷ chuỗi thời gian khác nhau , thu thập thứ bạn cần Nén cụ thể - of - giống liệu - tốt nhất cho khả lưu trữ gấp 16 lần Tạo siêu bảng phân tán trên nhiều nút Song song quét tổng hợp truy vấn trên nhiều nút Chuỗi thời gian quan hệ Đơn giản hóa ngăn xếp bạn lưu trữ liệu quan hệ bạn với liệu chuỗi thời gian. Hỏi truy vấn phức tạp xây dựng ứng dụng mạnh mẽ nhanh Tập trung lưu trữ chuỗi thời gian, ứng dụng liệu cảm biến Tương quan số với kinh doanh hệ thống - liệu hồ sơ Siêu liệu không giới hạn , đừng lo lắng số lượng nhãn Thực JOIN để hiểu mối quan hệ với liệu chuỗi thời gian Đảm bảo liệu xác, sẽ với khóa ràng buộc ngoại Tieu luan Page |3 Hoạt động lo lắng Hãy để chúng tơi chạy TimescaleDB cho bạn, quản lý hồn toàn AWS, Azure GCP 75 khu vực, với nhóm hỗ trợ xếp hạng cao để đảm bảo thành công bạn Quay phiên định cấu hình trước trong 30 giây, toán bạn thực Nâng cấp dễ dàng , quản lý hồn tồn mà khơng cần thời gian chết Sao lưu tự động, liên tục với khôi phục thời gian nhanh chóng Chọn các cặp chép có sẵn cao để kinh doanh liên tục Các số, nhật ký, bảo mật kiểm soát người dùng tích hợp trong tầm tay bạn Giá rẻ Chi tiêu với việc tiết kiệm nén từ thuật toán tốt nhất, bao gồm deltadelta Gorilla, kiến trúc hiệu nhớ Giảm chi phí lưu trữ với tỷ lệ nén không 94-97% Downsampling giữ số tổng hợp mà khơng làm lãng phí dung lượng ổ đĩa Tối ưu hóa mức tiêu thụ nhớ với các sách lưu giữ liệu Định giá minh bạch , biết bạn phải trả Tự động mở rộng quy mơ tính toán lưu trữ dựa nhu cầu thay đổi 1.2 Dữ liệu chuỗi thời gian gì? Dữ liệu chuỗi thời gian" mà tiếp tục nói đến gì, khác với liệu khác sao? Tieu luan Page |4 Nhiều ứng dụng sở liệu thực có nhìn hẹp đánh đồng liệu chuỗi thời gian với số máy chủ dạng cụ thể: Nhưng thực tế, nhiều ứng dụng giám sát, số liệu khác thường thu thập (ví dụ: CPU, nhớ, thống kê mạng, thời lượng pin). Vì vậy, khơng phải lúc có ý nghĩa nghĩ số liệu riêng biệt. Hãy xem xét mơ hình liệu "rộng hơn" thay để trì mối tương quan số liệu thu thập lúc Loại liệu thuộc danh mục rộng hơn nhiều , cho dù số nhiệt độ từ cảm biến, giá cổ phiếu, trạng thái máy chí số lần đăng nhập vào ứng dụng Dữ liệu chuỗi thời gian liệu đại diện chung cho cách hệ thống, quy trình hành vi thay đổi theo thời gian Tieu luan Page |5 Đặc điểm chuỗi liệu thời gian Nếu bạn xem xét kỹ cách tạo nhập vào, có đặc điểm quan trọng mà sở liệu chuỗi thời gian TimescaleDB thường tận dụng: Tập trung vào thời gian : Bản ghi liệu ln có dấu thời gian Chỉ phần nối thêm: Dữ liệu có phần nối thêm (INSERT) Gần đây : Dữ liệu thường khoảng thời gian gần cập nhật chèn lấp liệu bị thiếu khoảng thời gian cũ Mặc dù vậy, tần suất tính thường xun liệu quan trọng hơn; nó thu thập mili giây giờ. Nó thu thập theo khoảng thời gian đặn khơng thường xun (ví dụ: số sự kiện xảy ra, trái ngược với thời điểm xác định trước) Nhưng từ lâu sở liệu khơng có trường thời gian? Sự khác biệt liệu chuỗi thời gian (và sở liệu hỗ trợ chúng), so với liệu khác liệu "nghiệp vụ" quan hệ tiêu chuẩn, các thay đổi liệu chèn ghi đè Dữ liệu chuỗi có khắp nơi Dữ liệu chuỗi thời gian khắp nơi, có mơi trường mà đặc biệt tạo torrent Giám sát hệ thống máy tính : VM, máy chủ, số liệu vùng chứa (CPU, nhớ trống, IOPs mạng / đĩa), số liệu dịch vụ ứng dụng (tỷ lệ yêu cầu, độ trễ yêu cầu) Hệ thống giao dịch tài chính : Chứng khốn cổ điển, tiền điện tử hơn, toán, kiện giao dịch Tieu luan Page |6 Internet of Things : Dữ liệu từ cảm biến máy móc thiết bị công nghiệp, thiết bị đeo được, xe cộ, thùng chứa vật lý, pallet, thiết bị tiêu dùng cho nhà thông minh, v.v Ứng dụng tổ chức sự kiện : Dữ liệu tương tác người dùng / khách hàng dịng nhấp chuột, số lần xem trang, thơng tin đăng nhập, đăng ký, v.v Thông tin kinh doanh : Theo dõi số sức khỏe tổng thể doanh nghiệp Giám sát môi trường : Nhiệt độ, độ ẩm, áp suất, pH, số lượng phấn hoa, lưu lượng khơng khí, carbon monoxide (CO), nitrogen dioxide (NO2), vật chất dạng hạt (PM10) (và nhiều nữa) 1.3 Tại sử dụng TimescaleDB TimescaleDB đề xuất lợi ích PostgreSQL thơng thường: Tỉ lệ insert cao hơn, đặc biệt cho database có kích thước size lớn Query performance giữ vững database scale Hướng tối ưu cho query theo time Hypertables Hypertables bảng PostgreSQL với tính đặc biệt giúp dễ dàng xử lý liệu chuỗi thời gian. Bất điều bạn làm với bảng PostgreSQL thơng thường, bạn làm với siêu bảng. Ngồi ra, bạn nhận lợi ích việc cải thiện hiệu suất trải nghiệm người dùng liệu chuỗi thời gian Với siêu bảng, TimescaleDB giúp dễ dàng cải thiện hiệu suất chèn truy vấn bằng cách phân vùng liệu chuỗi thời gian tham số thời gian nó. Phía sau, sở liệu thực cơng việc thiết lập trì phân Tieu luan Page |7 vùng hypertable. Trong đó, bạn chèn truy vấn liệu thể tất nằm bảng PostgreSQL thông thường Các phân vùng hậu trường hypertable, gọi khối, làm cho tính khác TimescaleDB trở nên khả thi. Chúng bao gồm tổng hợp liên tục, sách nén, lưu giữ, v.v 1.4 TimescaleDB Kubernetes Bạn cài đặt phiên TimescaleDB triển khai Kubernetes nào. Sử dụng timescaledb-single biểu đồ Helm để triển khai sở liệu TimescaleDB khả dụng cao và timescaledb-multinode biểu đồ Helm để triển khai sở liệu TimescaleDB phân tán nhiều nút 1.5 Tính khả cao TimescaleDB Biểu timescaledb-single đồ Helm thực hành động sau: Tạo ba Pod mặt định Kubernetes Statefulset o Statefulset đối tượng API khối lượng công việc sử dụng để quản lý trạng thái Quản lý việc triển khai mở rộng quy mô tập hợp Pod (Pod là đơn vị máy tính nhỏ triển khai mà bạn tạo quản lý Kubernetes) cung cấp đảm bảo thứ tự tính nhất của Pod Giống Deployments( Deployments cung cấp cập nhập khai báo cho Pod ReplicaSets) , StatefulSet quản lý Pod dựa thông số kỹ thuật vùng chứa giống hệt nhau. Không giống Triển khai, StatefulSet trì danh tính cố định cho Nhóm chúng. Các nhóm tạo từ thơng số kỹ thuật, khơng thể hốn đổi cho nhau: nhóm có số nhận dạng liên tục mà trì lần lên lịch lại Nếu bạn muốn sử dụng khối lượng lưu trữ để cung cấp bền bỉ cho khối lượng cơng việc mình, bạn sử dụng StatefulSet phần Tieu luan Page |8 giải pháp. Mặc dù Pod riêng lẻ StatefulSet dễ bị lỗi, mã nhận dạng Pod liên tục giúp dễ dàng khớp ổ có với Pod thay ổ bị lỗi o StatefulSets có giá trị cho ứng dụng yêu cầu nhiều điều sau Số nhận dạng mạng nhất, ổn định Lưu trữ ổn định, bền bỉ Có thứ tự, triển khai duyên dáng mở rộng Cập nhật luân phiên theo thứ tự, tự động Tạo Pod có vùng chứa cách sử dụng hình ảnh TimescaleDB Docker Cài đặt TimescaleDB 2.1 PG 13 Tạo vùng chứa chạy phiên TimescaleDB tác nhân Patroni o Patroni mẫu để bạn tạo giải pháp tùy chỉnh, có tính khả dụng cao riêng Python - để có khả truy cập tối đa - cửa hàng cấu hình phân tán ZooKeeper, ectd, Consul Kubernetes Các kỹ sư sở liệu, DBA, kỹ sư DevOps SRE, người tìm cách triển khai nhanh chóng HA PostgreSQL trung tâm liệu - nơi khác - hy vọng thấy hữu ích o Chúng tơi gọi Patroni “khn mẫu” khơng phải hệ thống chép kích thước phù hợp với tất plug-andplay. Nó có cảnh báo riêng. Sử dụng cách khơn ngoan. Có nhiều cách để chạy tính sẵn sàng cao với PostgreSQL; để biết danh sách, xem Tài liệu PostgreSQL Định cấu hình phiên TimescaleDB để chép với hai Tieu luan P a g e | 26 Tạo truy vấn tổng hợp để sử dụng tổng hợp liên tục bạn Dữ liệu sử dụng hướng dẫn liệu giây, liệu đánh dấu cho giao dịch chứng khốn. Một mơ hình tổng hợp phổ biến sử dụng để phân tích liệu chứng khốn gọi hình nến . Nói chung, biểu đồ hình nến sử dụng tổng hợp khác khoảng thời gian cụ thể (ví dụ: tổng hợp phút, phút ngày): high: giá cổ phiếu cao khoảng thời gian open: giá cổ phiếu mở cửa khoảng thời gian close: giá cổ phiếu đóng cửa khoảng thời gian low: giá cổ phiếu thấp khoảng thời gian Đối với truy vấn ví dụ này, time_bucket()khoảng thời gian ngày. Các highvà lowgiá trị tìm thấy cách sử dụng PostgreSQL MAX() và MIN()các hàm. Cuối cùng, các giá trị openvà tìm thấy cách sử dụng hàm và .closefirst()last() Tạo truy vấn tổng hợp Sử dụng SELECTlệnh để tìm giá trị hình nến hàng ngày cho cổ phiếu toàn tập liệu tháng. Q trình vài giây để xử lý tất liệu thơ thành nhóm ngày: LỰA CHỌN time_bucket ( '1 ngày' , "thời gian" ) NHƯ ngày , biểu tượng , tối đa ( giá ) AS cao , ( giá , thời gian ) AS mở , cuối ( giá , thời gian ) AS đóng , tối thiểu ( giá ) AS thấp FROM stock_real_time srt NHÓM THEO ngày , ký hiệu Tieu luan P a g e | 27 ĐẶT HÀNG THEO NGÀY MÔ TẢ , ký hiệu ; Kết lệnh trông sau: ngày | ký hiệu | cao | mở cửa | đóng cửa | thấp | - + + + + + + 2022 -05-03 20 : 00: 00.000 -0400 | AAPL | 164,9799 | 159,32 | 164.545 | 159,25 | 2022 -05-03 20 : 00: 00.000 -0400 | ABBV | 151,7 | 150,99 | 151,32 | 147,59 | 2022 -05-03 20 : 00: 00.000 -0400 | ABNB | 158.7158 | 148,84 | 153,58 | 145,88 | 2022 -05-03 20 : 00: 00.000 -0400 | ABT | 115,2 | 111,64 | 115,08 | 111,14 | 2022 -05-03 20 : 00: 00.000 -0400 | ADBE | 421,93 | 407,61 | 419,53 | 395.06 | 2022 -05-03 20 : 00: 00.000 -0400 | AMAT | 118,47 | 114.279 | 117,95 | 112,04 | Tạo tổng hợp liên tục từ truy vấn tổng hợp Bây bạn có truy vấn tổng hợp, bạn sử dụng để tạo tổng hợp liên tục Trong CREATE MATERIALIZED VIEWtrường hợp này, lệnh kích hoạt sở liệu để tạo dạng xem cụ thể hóa với tên cho stock_candlestick_daily. Trong dịng tiếp theo, WITH (timescaledb.continuous)hướng dẫn TimescaleDB tạo tổng hợp liên tục không chế độ xem vật chất hóa chung chung. Cuối cùng, truy vấn từ trước thêm vào sau AStừ khóa Tieu luan P a g e | 28 Tạo tổng hợp liên tục từ truy vấn tổng hợp Sử dụng truy vấn tổng hợp từ quy trình trước đó, tạo tổng hợp liên tục cho liệu hình nến hàng ngày: TẠO XEM VẬT LIỆU HÓA stock_candlestick_daily VỚI ( thang thời gianb Liên tục ) NHƯ LỰA CHỌN time_bucket ( '1 ngày' , "thời gian" ) NHƯ ngày , biểu tượng , tối đa ( giá ) AS cao , ( giá , thời gian ) AS mở , cuối ( giá , thời gian ) AS đóng , tối thiểu ( giá ) AS thấp FROM stock_real_time srt NHĨM THEO ngày , ký hiệu ; Có thể khoảng thời gian để chạy truy vấn cần thực tính tốn tất liệu giao dịch chứng khoán bạn lần đầu tiên. Sau kết tính tốn lưu trữ, việc truy vấn liệu từ tổng hợp liên tục nhanh nhiều Câu SELECTlệnh giống truy vấn bạn viết trước đó, khơng có ORDER BYmệnh đề. Theo mặc định, mã vừa tạo tổng hợp vừa thực hóa liệu tổng hợp. Điều có nghĩa chế độ xem tạo và điền tính tốn tổng hợp từ liệu siêu bảng có bạn Tieu luan P a g e | 29 Chạy truy vấn để nhận tất liệu tổng hợp liên tục bạn lưu ý điều nhanh so với chạy SELECTtruy vấn tổng hợp liệu siêu bảng thô: CHỌN * TỪ stock_candlestick_daily ĐẶT HÀNG THEO NGÀY MÔ TẢ , ký hiệu ; Tổng hợp liên tục thời gian thực Theo mặc định, tất tổng hợp liên tục tạo dạng tổng hợp thời gian thực . Điều có nghĩa TimescaleDB nối (hoặc UNION) liệu gần chưa thực hóa thơng qua sách làm vào đầu tổng hợp liên tục. Trong biểu đồ này, điều tương ứng với ba điểm cuối liệu thơ, thuộc nhóm chưa hồn chỉnh Tieu luan P a g e | 30 GHI CHÚ Nếu bạn khơng muốn tổng hợp thời gian thực, bạn vơ hiệu hóa nó. Đặt materialized_onlytham số thành true cho tổng hợp liên tục bạn. Để biết thêm thông tin, xem phần tổng hợp thời gian thực Để kiểm tra chi tiết tổng hợp liên tục, chẳng hạn cấu hình truy vấn sử dụng để xác định nó, sử dụng chế độ xem thơng tin sau: CHỌN * TỪ timescaledb_information liên_tục ; Kết quả: hypertable_schema | hypertable_name | view_schema | view_name | view_owner | materialized_only | nén_enabled | materialization_hypertable_schema | materialization_hypertable_name | view_definition | - + + - + - - + + - + - + - + + - + công khai | cổ_ phiếu_thời_ gian | công khai tsdbadmin | sai | sai | _timescaledb_internal _materialized_hypertable_3 | nến_one_min | | | CHỌN time_bucket ( '00: 01: 00 ' :: khoảng thời gian, stock_real_time "Time" ) AS nhóm, ¶ stock_real_time.symbol, ¶ ( stock_real_time.price, stock_real_time "Time" ) AS mở, ¶ max ( stock_real_time.price ) AS cao, ¶ ( ) AS thấp, | Tieu luan stock_real_time.price P a g e | 31 Sử dụng thiết lập sách tổng hợp liên tục Bây bạn có tổng hợp liên tục, bạn chưa cập nhật liệu tạo sách tự động. Có hai cách để cập nhật tổng hợp liên tục: Chính sách làm tổng hợp liên tục tự động Làm thủ công Những phương pháp cho phép bạn làm liệu cụ thể hóa tổng hợp liên tục thuận tiện nhất. Ví dụ: bạn thực làm thời gian tải truy vấn thấp sở liệu Tieu luan P a g e | 32 Tạo sách làm tổng hợp liên tục Để làm tổng hợp liên tục bạn theo lịch, thiết lập sách làm tự động. Chính sách làm tự động coi phương pháp hay TimescaleDB nên tạo cho hầu hết tổng hợp liên tục. Việc sử dụng sách tổng hợp liên tục tự động để cập nhật liệu tổng hợp liên tục cho phép bạn "đặt quên nó", đảm bảo liệu siêu bảng thực hóa theo thời gian đưa vào sở liệu Tạo sách làm tổng hợp liên tục Sử dụng lệnh SQL để tạo sách tự động cập nhật cho tổng hợp liên tục stock_candlestick_daily: SELECT add_continuous_aggregate_policy ( 'stock_candlestick_daily' , Tieu luan P a g e | 33 start_offset = > INTERVAL '3 ngày' , end_offset = > INTERVAL '1 giờ' , Sched_interval = > INTERVAL '1 ngày' ) ; Chính sách chạy lần ngày, thiết lập bởi schedule_interval. Khi chạy, thực hóa liệu từ ngày trước đến trước, đặt bởi start_offsetvà end_offset. Thời gian bù tính tương ứng với thời gian thực truy vấn. Truy vấn thực thi truy vấn xác định tổng hợp liên tục stock_candlestick_daily Làm theo cách thủ công tổng hợp liên tục Bạn có thể làm tổng hợp liên tục theo cách thủ công bằng cách sử dụng làm lần. Điều hữu ích liệu chèn sửa đổi nằm ngồi sách start_offsetvà end_offsetkhoảng thời gian làm mới. Điều thường xảy hệ thống IoT tiên tiến, nơi thiết bị kết nối internet thời gian dài cuối gửi kết đọc lịch sử sau chúng kết nối lại Làm tập hợp liên tục theo cách thủ công Làm tổng hợp liên tục stock_candlestick_dailycho liệu tuần qua: CALL refresh_continuous_aggregate ( 'stock_candlestick_daily' , ( ) - INTERVAL '1 tuần' , ( ) ); Làm thủ công cập nhật tổng hợp liên tục bạn lần. Nó khơng tự động cập nhật tổng hợp. Để thiết lập sách làm tự động, xem phần trước sách làm tổng hợp liên tục Tieu luan P a g e | 34 Bật tính nén TimescaleDB siêu bảng Để kích hoạt tính nén, bạn cần phải có ALTERhypertable stocks_real_time. Có ba tham số bạn định bật tính nén: timescaledb.compress(bắt buộc): bật tính nén TimescaleDB siêu bảng timescaledb.compress_orderby(tùy chọn): cột sử dụng để xếp liệu nén timescaledb.compress_segmentby(tùy chọn): cột sử dụng để nhóm liệu nén Nếu bạn không định compress_orderbyhoặc compress_segmentbycột, liệu nén tự động xếp theo cột thời gian siêu thời gian biểu Bật tính nén siêu bảng Sử dụng hàm SQL để bật tính nén trên stocks_real_time siêu bảng: ALTER TABLE stock_real_time SET ( thang đo thời gianb nén , thang đo thời gianb nén_orderby = 'thời gian DESC' , thang đo thời gianb nén_segmentby = 'biểu tượng' ); Xem xác minh cài đặt nén cho siêu bảng bạn cách sử dụng compression_settingschế độ xem thông tin, chế độ trả thông tin tùy chọn nén các orderbythuộc segmentbytính nó: CHỌN * TỪ timescaledb_information nén_cài_lập ; Kết sau: Tieu luan P a g e | 35 hypertable_schema | hypertable_name | attname | segmentby_column_index | orderby_column_index | orderby_asc | orderby_nullsfirst | - + + - + - - + + - + - - + công khai | cổ_ phiếu_thời_ gian | ký hiệu | | | | | công khai | cổ_ phiếu_thời_ gian | thời gian | | | sai | thật | GHI CHÚ Để tìm hiểu thêm tùy chọn segmentbyvà orderbynén TimescaleDB cách chọn cột, xem giải thích chi tiết trong tài liệu nén TimescaleDB Nén tự động Khi bạn bật tính nén, bạn lên lịch sách để tự động nén dữ liệu theo cài đặt bạn xác định trước Ví dụ: bạn muốn nén liệu siêu bảng cũ hai tuần, chạy SQL sau: SELECT add_compression_policy ( 'stock_real_time' , INTERVAL '2 tuần' ) ; Tương tự sách tổng hợp liên tục sách lưu giữ, bạn chạy SQL này, tất phần chứa liệu hai tuần nén stocks_real_timevà sách nén định kỳ tạo Điều quan trọng bạn không cố nén tất liệu mình. Mặc dù bạn chèn liệu vào khối nén, cập nhật xóa hàng nén. Vì vậy, tốt nén liệu sau cũ, liệu có khả u cầu cập nhật Cũng giống sách tự động tổng hợp liên tục, bạn xem thơng tin thống kê cơng việc nén hai chế độ xem thơng tin sau: Chi tiết sách: Tieu luan P a g e | 36 CHỌN * TỪ timescaledb_information việc làm ; Thống kê cơng việc sách: CHỌN * TỪ timescaledb_information số_lượng_công_nghiệp ; Nén thủ công Mặc dù cách tốt sử dụng sách nén để nén liệu tự động, có trường hợp bạn cần nén phần theo cách thủ công Sử dụng truy vấn để nén thủ công phần bao gồm liệu cũ tuần. Nếu bạn nén khối siêu bảng theo cách thủ công, cân nhắc thêm if_not_compressed=>truevào compress_chunk()chức năng. Nếu không, TimescaleDB hiển thị lỗi cố nén đoạn nén: CHỌN tệp nén ( i , if_not_compressed = > true ) FROM show_chunks ( 'stock_real_time' , old_than = > INTERVAL '2 tuần' ) i ; Xác minh nén bạn Bạn kiểm tra tốc độ nén tổng thể siêu bảng cách sử dụng truy vấn để xem kích thước khối nén trước sau áp dụng nén: CHỌN pg_size_pretty ( before_compression_total_bytes ) làm "trước nén" , pg_size_pretty ( after_compression_total_bytes ) "sau nén" FROM hypertable_compression_stats ( 'stock_real_time' ) ; Kết mẫu: | trước nén | sau nén | | | - | | 326 MB | 29 MB | Tieu luan P a g e | 37 Tạo sách lưu giữ liệu tự động Chính sách lưu giữ liệu tự động giảm liệu theo lịch trình quy tắc xác định. Các sách chất "thiết lập qn đi", có nghĩa phức tạp cho việc bảo trì trì Ví dụ: nhiều ứng dụng giao dịch chứng khốn khơng cần liệu giao dịch thô tổng hợp liên tục tạo cho giới hạn thời gian khác hiển thị giá trị cao, thấp, mở đóng. Để tiết kiệm dung lượng ổ đĩa liệu thô truy vấn, bạn muốn liên tục xóa liệu giao dịch chứng khốn siêu bảng bên dưới stocks_real_timesau dấu thời gian giao dịch cũ ba tuần trước Tạo sách lưu giữ liệu tự động Sử dụng add_retention_policy()chức để thêm sách lưu giữ tự động vào stocks_real_timebảng: SELECT add_retention_policy ( 'stock_real_time' , INTERVAL '3 tuần' ) ; Khi bạn chạy lệnh này, tất liệu cũ tuần bị xóa stocks_real_timevà sách lưu giữ định kỳ tạo. Khơng có liệu bị loại bỏ khỏi tổng hợp liên tục bạn stocks_real_time_daily, Để xem thông tin sách giữ chân bạn xác minh thống kê công việc, truy vấn chế độ xem thông tin TimescaleDB: CHỌN * TỪ timescaledb_information việc làm ; Kết sau: job_id | tên_ ứng dụng | lịch_trình | max_runtime | max_retries | retry_period | proc_schema | chủ sở hữu | next_start | proc_name | lên lịch | cấu hình | hypertable_schema | hypertable_name | + + - + - + - + + - + - Tieu luan P a g e | 38 + - + - + - + - + - + + | Phóng viên đo từ xa [ ] | 24 : 00: 00 | 00:01:40 | -1 | 01:00:00 | _timescaledb_internal | policy_telemetry | postgres | thật | | 2022 -05-04 21 : 52: 45.304 -0400 | | | 1000 | Làm Chính sách Tổng hợp Liên tục [ 1000 ] | | 00:00:00 | -1 | 01:00:00 01:00:00 | _timescaledb_internal | policy_refresh_continuous_aggregate | tsdbadmin | thật | { "end_offset" : "00:01:00" , "start_offset" : "02:00:00" , "mat_hypertable_id" : } | 2022 -05-04 16 : 21: 36.704 -0400 | _timescaledb_internal | _materialized_hypertable_3 | Hoặc bạn thử truy vấn này: CHỌN * TỪ timescaledb_information số_lượng_công_nghiệp ; Kết sau: hypertable_schema | hypertable_name last_run_started_at | job_id | | last_successful_finish job_status | last_run_duration | next_start | last_run_status | | Total_runs | tổng_thành công | Total_failures | - + + - - + - + - + - + + - + - + - - + - + + _timescaledb_internal | _materialized_hypertable_3 | 1000 | 2022 -05-04 15 : 21: 36.443 -0400 | 2022 -05-04 15 : 21: 36.704 -0400 | Thành công | Đã lên lịch | 00: 00: 00.260945 | 2022 -05-04 16 : 21: 36.704 -0400 | Năm 1978 | Năm 1978 | | Tieu luan P a g e | 39 | | | 2022 -05-03 21 : 52: 45.068 -0400 | 2022 -05-03 21 : 52: 45.304 -0400 | Thành công | Đã lên lịch | 00: 00: 00.235434 | 2022 - 05-04 21 : 52: 45.304 -0400 | 109 | 108 | | Thả khối siêu bàn cũ theo cách thủ công Để xóa liệu lần theo cách thủ cơng, sử dụng chức TimescaleDB drop_chunks() Hàm nhận đối số tương tự với sách lưu giữ liệu. Tuy nhiên, việc cho phép bạn loại bỏ liệu cũ khoảng thời gian cụ thể, cho phép bạn loại bỏ liệu khoảng thời gian cụ thể. Điều có nghĩa bạn loại bỏ liệu từ khoảng thời gian giới hạn hai đầu Để loại bỏ tất liệu cũ ba tuần, chạy: SELECT drop_chunks ( 'stock_real_time' , INTERVAL '3 tuần' ) ; Để loại bỏ tất liệu cũ hai tuần ba tuần: CHỌN drop_chunks ( 'stock_real_time' , old_than = > INTERVAL '2 tuần' , newer_than = > INTERVAL '3 tuần' ) 2.2Hướng dẫn cài đặt TimescaleDB tự lưu trữ hệ thống Windows Bạn tự lưu trữ TimescaleDB hệ thống Microsoft Windows mình. Các hướng dẫn sử dụng trình zipcài đặt phiên này: Microsoft Windows 10 Microsoft Windows 11 Microsoft Windows Server 2019 Các phiên PostgreSQL hỗ trợ tối thiểu là: Tieu luan P a g e | 40 PostgreSQL 12.8 PostgreSQL 13,5 PostgreSQL 14.0 Cài đặt TimescaleDB tự lưu trữ hệ thống chạy Windows Tải xuống cài đặt Visual C ++ Redistributable cho Visual Studio từ www.microsoft.com Tải xuống cài đặt PostgreSQL từ www.postgresql.org Trong cơng cụ Tìm kiếm Windows, tìm kiếm system environment variables. Trong System Propertieshộp thoại, điều hướng đến Advancedtab nhấp vào Environment Variables Tìm Pathbiến nhấp vào Edit Trong Edit environment variablehộp thoại, nhấp Newvà nhập đường dẫn đến pg_configtệp PostgreSQL bạn. Nó nên được C:\Program Files\ PostgreSQL\14\bin\. Nhấp OKđể lưu thay đổi bạn Tải xuống .ziptệp cài đặt TimescaleDB từ các bản phát hành Windows của Định vị tệp tải xuống hệ thống tệp cục bạn giải nén tệp Trong thư mục TimescaleDB giải nén, nhấp chuột phải vào setup.exetệp chọn Run as Administratorđể khởi động trình cài đặt Khi bạn hoàn tất cài đặt, bạn cần phải cấu hình sở liệu để bạn sử dụng nó. Cách dễ để làm điều chạy timescaledbtune tập lệnh, bao gồm trong timescaledb-toolsgói Demo TÀI LIỆU KHAM KHẢO Tieu luan ... Page |1 Tổng quan 1.1 TimescaleDB gì? TimescaleDB sở liệu quan hệ mã nguồn mở cho liệu chuỗi thời gian. Nó sử dụng SQL đầy đủ dễ sử dụng sở liệu quan hệ truyền thống, lại mở rộng quy mô theo cách...TRƯỜNG ĐẠI HỌC SƯ PHẠM THÀNH PHỐ HỒ CHÍ MINH KHOA CƠNG NGHỆ THƠNG TIN BÁO CÁO CUỐI KÌ Mơn học: Hệ thống mã nguồn mở Mã lớp: COMP104301 Thành viên nhóm : 46.01.104.062:... INTERVAL ''3 tuần'' ) 2.2Hướng dẫn cài đặt TimescaleDB tự lưu trữ hệ thống Windows Bạn tự lưu trữ TimescaleDB hệ thống Microsoft Windows mình. Các hướng dẫn sử dụng trình zipcài đặt phiên này: Microsoft