1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO CÁO CUỐI KÌ Môn học Hệ thống mã nguồn mở

42 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Cuối Kì Môn Học Hệ Thống Mã Nguồn Mở
Tác giả Nguyễn Hồ Xuân Hương, Nguyễn Nhất Huy, Mai Tứ Quý, Trần Nhật Tân
Người hướng dẫn Thành phố Hồ Chí Minh, ngày 02 tháng 10 năm 2022
Trường học Trường Đại học Sư phạm Thành phố Hồ Chí Minh
Chuyên ngành Hệ thống mã nguồn mở
Thể loại Báo cáo cuối kỳ
Năm xuất bản 2022
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 42
Dung lượng 884,96 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 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 của bạn  Toàn bộ bộ công cụ của bạn hoạt động : ORM, trình kết nối, JDBC, ứng dụng  Kết nối Prometh

Trang 1

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 2 tháng 10 năm 2022

Trang 2

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CUỐI KÌ

Giáo viên hướng dẫn:

Thành phố Hồ Chí Minh, ngày 02 tháng 10 năm 2022

Trang 3

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 của bạn

Toàn bộ bộ công cụ của 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 cả các chỉ số về khả năng quan sát của bạn

 Trực quan hóa dữ liệu bằng 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 được các truy vấn nhanh hơn 10-100 lần so với PostgreSQL, InfluxDB vàMongoDB Tận dụng song song truy vấn, tổng hợp liên tục và các tối ưu hóa hiệu suất khác

Đạt được số lần chèn nhanh hơn 10 lần và nhập thêm 1,5 triệu chỉ số mỗi giây trên mỗi máy chủ để có khối lượng công việc có dung lượng cao

Trang 4

Truy vấn chuỗi thời gian được 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 bộ nhớ cột nén

Truy vấn nhanh hơn trong phạm vi thời gian dài hơn với lấy mẫu xuống Quy mô lớn

Ghi hàng triệu điểm dữ liệu mỗi giây Lưu trữ hàng trăm terabyte trên một núthoặc petabyte trên nhiều nút Xử lý dữ liệu số lượng cao một cách dễ dàng

Lưu trữ hàng trăm tỷ hàng và hàng trăm TB dữ liệu trên mỗi máy chủ

khi nén hoặc 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 mọi thứ bạn cần

Nén cụ thể - of - giống dữ liệu - tốt nhất cho khả năng 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 và tổng hợp các truy vấn trên nhiều nút

Chuỗi thời gian và quan hệ cùng nhau

Đơn giản hóa ngăn xếp của bạn và lưu trữ dữ liệu quan hệ của bạn cùng với

dữ liệu chuỗi thời gian Hỏi các truy vấn phức tạp hơn và xây dựng các ứng dụng mạnh mẽ hơn nhanh hơn

Tập trung lưu trữ chuỗi thời gian, ứng dụng và dữ liệu cảm biến

Tương quan các chỉ số với kinh doanh và hệ thống - dữ liệu hồ sơ

Siêu dữ liệu không giới hạn , đừng lo lắng về số lượng nhãn

Thực hiện JOIN để hiểu mối quan hệ với dữ liệu chuỗi thời gian

Đảm bảo dữ liệu chính xác, sạch sẽ với các khóa và ràng buộc ngoại

Trang 5

Hoạt động không phải lo lắng

Hãy để chúng tôi chạy TimescaleDB cho bạn, được quản lý hoàn toàn trên AWS, Azure hoặc GCP ở hơn 75 khu vực, với nhóm hỗ trợ được xếp hạng cao nhất để đảm bảo thành công của bạn

Quay một phiên bản được định cấu hình trước trong 30 giây, thanh toán ngay khi bạn thực hiện

Nâng cấp dễ dàng , được quản lý hoàn toà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 sao chép có sẵn cao để kinh doanh liên tục

Các chỉ số, nhật ký, bảo mật và kiểm soát người dùng được tích

hợp trong tầm tay bạn

Giá rẻ

Chi tiêu ít hơn với việc tiết kiệm nén từ các thuật toán tốt nhất, bao gồm delta và Gorilla, và kiến trúc hiệu quả về bộ nhớ

delta- Giảm chi phí lưu trữ với tỷ lệ nén không mất 94-97%

Downsampling giữ các chỉ 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ụ bộ nhớ với các chính sách lưu giữ dữ liệu

Định giá minh bạch , luôn biết bạn sẽ phải trả những gì

Tự động mở rộng quy mô tính toán và lưu trữ dựa trên nhu cầu thay đổi 1.2 Dữ liệu chuỗi thời gian là gì?

Dữ liệu chuỗi thời gian" mà chúng ta tiếp tục nói đến là gì, nó khác với các dữliệu khác như thế nào và tại sao?

Trang 6

Nhiều ứng dụng hoặc cơ sở dữ liệu thực sự có một cái nhìn quá hẹp và đánh đồng dữ liệu chuỗi thời gian với một cái gì đó như chỉ số máy chủ của một

dạng cụ thể:

Nhưng trên thực tế, trong nhiều ứng dụng giám sát, các số liệu khác nhauthường được thu thập cùng nhau (ví dụ: CPU, bộ nhớ, thống kê mạng, thờilượng pin) Vì vậy, không phải lúc nào cũng có ý nghĩa khi nghĩ về từng sốliệu riêng biệt Hãy xem xét mô hình dữ liệu "rộng hơn" thay thế này để duytrì mối tương quan giữa các số liệu được thu thập cùng một lúc

Loại dữ liệu này thuộc một danh mục rộng hơn nhiều , cho dù chỉ số nhiệt độ

từ cảm biến, giá cổ phiếu, trạng thái của máy hoặc thậm chí số lần đăng nhập vào một ứng dụng

Dữ liệu chuỗi thời gian là dữ liệu đại diện chung cho cách một hệ thống, quy trình hoặc hành vi thay đổi theo thời gian.

Trang 7

Đặc điểm của chuỗi dữ liệu thời gian

Nếu bạn xem xét kỹ cách nó được tạo ra và nhập vào, có những đặc điểm quan trọng mà cơ sở dữ liệu chuỗi thời gian như TimescaleDB thường tận dụng:

Tập trung vào thời gian : Bản ghi dữ liệu luôn có dấu thời gian.

Chỉ phần nối thêm: Dữ liệu hầu như chỉ có phần nối thêm (INSERT).

Gần đây : Dữ liệu mới thường là về các khoảng thời gian gần đây và

chúng tôi hiếm khi cập nhật hoặc chèn lấp dữ liệu bị thiếu về các khoảng thời gian cũ

Mặc dù vậy, tần suất hoặc tính thường xuyên của dữ liệu ít quan trọng hơn; nó

có thể được thu thập mỗi mili giây hoặc giờ Nó cũng có thể được thu thập theo các khoảng thời gian đều đặn hoặc không thường xuyên (ví dụ: khi một

số sự kiện xảy ra, trái ngược với các thời điểm được xác định trước).

Nhưng từ lâu cơ sở dữ liệu đã không có trường thời gian? Sự khác biệt chính giữa dữ liệu chuỗi thời gian (và cơ sở dữ liệu hỗ trợ chúng), so với các dữ liệu

khác như dữ liệu "nghiệp vụ" quan hệ tiêu chuẩn, là các thay đổi đối với dữ liệu là chèn chứ không phải ghi đè

Dữ liệu chuỗi có khắp mọi nơi

Dữ liệu chuỗi thời gian ở khắp mọi nơi, nhưng có những môi trường mà nó đặc biệt được tạo trong torrent

Giám sát hệ thống máy tính : VM, máy chủ, số liệu vùng chứa (CPU, bộ

nhớ trống, IOPs mạng / đĩa), số liệu dịch vụ 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 khoán cổ điển, tiền điện tử mới

hơn, thanh toán, sự kiện giao dịch

Trang 8

Internet of Things : Dữ liệu từ các cảm biến trên máy móc và 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 của người dùng / khách

hàng như 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 các chỉ số chính và sức khỏe tổng thể

của 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 hơn nữa)

1.3 Tại sao sử dụng TimescaleDB

TimescaleDB đề xuất 3 lợi ích chính hơn PostgreSQL thông thường:

 Tỉ lệ insert cao hơn, đặc biệt cho các database có kích thước size lớn

 Query performance giữ vững khi database scale

 Hướng tối ưu cho query theo time

Hypertables

Hypertables là bảng PostgreSQL với các tính năng đặc biệt giúp dễ dàng xử

lý dữ liệu chuỗi thời gian Bất cứ điều gì bạn có thể làm với một bảngPostgreSQL thông thường, bạn có thể làm với một siêu bảng Ngoài ra, bạnnhận được lợi ích của việc cải thiện hiệu suất và trải nghiệm người dùng đốivới dữ 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 và truyvấn bằng cách phân vùng dữ liệu chuỗi thời gian trên tham số thời gian của

nó Phía sau, cơ sở dữ liệu thực hiện công việc thiết lập và duy trì các phân

Trang 9

vùng của hypertable Trong khi đó, bạn chèn và truy vấn dữ liệu của mìnhnhư thể tất cả đều nằm trong một bảng PostgreSQL thông thường.

Các phân vùng hậu trường của hypertable, được gọi là khối, cũng làm chocác tính năng khác của TimescaleDB trở nên khả thi Chúng bao gồm tổnghợp liên tục, chính sách nén, lưu giữ, v.v

1.4 TimescaleDB trên Kubernetes

Bạn có thể cài đặt phiên bản TimescaleDB trên bất kỳ triển khai Kubernetes nào Sử dụng timescaledb-single biểu đồ Helm để triển khai cơ sở dữ liệu TimescaleDB khả dụng cao và timescaledb-multinode biểu đồ Helm để triển khai cơ sở dữ liệu TimescaleDB phân tán nhiều nút

1.5 Tính khả năng cao TimescaleDB

Biểu timescaledb-single đồ Helm thực hiện các hành động sau:

 Tạo ba Pod mặt định bằng Kubernetes Statefulset

o Statefulset là đối tượng API khối lượng công việc được sử dụng

để quản lý các trạng thái. Quản lý việc triển khai và mở rộng quy

mô của một tập hợp Pod (Pod là đơn vị máy tính nhỏ nhất có thể triển khai mà bạn có thể tạo và quản lý trong Kubernetes) và cung cấp đảm bảo về thứ tự và tính duy nhất của các Pod này Giống một Deployments( Deployments cung cấp các cập nhập khai báo cho Pod

và ReplicaSets) , StatefulSet quản lý các Pod dựa trên một thông số

kỹ thuật của vùng chứa giống hệt nhau Không giống như một Triển khai, một StatefulSet duy trì một danh tính cố định cho mỗi Nhóm của chúng Các nhóm này được tạo từ cùng một thông số kỹ thuật, nhưng không thể hoán đổi cho nhau: mỗi nhóm có một số nhận dạng liên tục mà nó duy trì trong bất kỳ lần lên lịch lại nào Nếu bạn muốn

sử dụng khối lượng lưu trữ để cung cấp sự bền bỉ cho khối lượng công việc của mình, bạn có thể sử dụng StatefulSet như một phần

Trang 10

của giải pháp Mặc dù các Pod riêng lẻ trong StatefulSet dễ bị lỗi, nhưng các mã nhận dạng Pod liên tục giúp dễ dàng khớp các ổ hiện

có với các Pod mới thay thế các ổ bị lỗi.

o StatefulSets có giá trị cho các ứng dụng yêu cầu một hoặc nhiều điều sau đây.

 Số nhận dạng mạng duy nhất, ổn định.

 Lưu trữ ổn định, bền bỉ.

 Có thứ tự, triển khai duyên dáng và mở rộng.

 Cập nhật luân phiên theo thứ tự, tự động.

 Tạo mỗi Pod có một vùng chứa bằng cách sử dụng hình ảnh TimescaleDB Docker

 Cài đặt TimescaleDB 2.1 và PG 13.

 Tạo vùng chứa chạy phiên bản TimescaleDB và tác nhân Patroni

o Patroni là một mẫu để bạn tạo giải pháp tùy chỉnh, có tính khả dụng cao của riêng mình bằng Python và - để có khả năng truy cập tối đa - một cửa hàng cấu hình phân tán như ZooKeeper, ectd, Consul hoặc Kubernetes Các kỹ sư cơ sở dữ liệu, DBA, kỹ sư DevOps và SRE, những người đang tìm cách triển khai nhanh chóng HA PostgreSQL trong trung tâm dữ liệu - hoặc bất kỳ nơi nào khác - hy vọng sẽ thấy nó hữu ích.

o Chúng tôi gọi Patroni là một “khuôn mẫu” bởi vì nó không phải là một

hệ thống sao chép một kích thước phù hợp với tất cả hoặc play Nó sẽ có những cảnh báo riêng Sử dụng một 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, hãy xem Tài liệu PostgreSQL

plug-and- Định cấu hình mỗi phiên bản TimescaleDB để sao chép với một bản chính và hai bản sao.

Trang 11

Khi bạn triển khai trên dịch vụ AWS Elastic Kubernetes, các Pod được lập lịch trên các nút chạy trong các vùng khả dụng khác nhau (AZ) Bộ cân bằng tải AWS Elastic load (ELB) được định cấu hình để xử lý định tuyến lưu lượng đến đến Pod chính.

TimescaleDB được phân phối nhiều nút

Biểu timescaledb-multinodeđồ Helm triển khai một cụm TimescaleDB nhiều nút thiết lập:

 Tạo TimescaleDB duy nhất Access Nodebằng Kubernetes StatefulSet

 Tạo ba Pod Data Nodesbằng cách sử dụng Kubernetes StatefulSet khác.

 Tạo mỗi Pod có một vùng chứa bằng cách sử dụng hình ảnh Docker bao gồm các nguồn đa nút TimescaleDB.

Để thêm hoặc xóa các nút, hãy thay đổi dataNodestham số trong values.yamltệp Làm điều này trước khi cài đặt TimescaleDB từ timescaledb-multinodebiểu đồ Helm Để biết chi tiết về các tham số bạn có thể đặt, hãy xem Hướng dẫn danh cho quản trị viên

Trang 12

Khi bạn triển khai trên dịch vụ AWS Elastic Kubernetes, bộ cân bằng tải AWS Elastic (ELB) được định cấu hình để xử lý định tuyến lưu lượng đến đến nút truy cập.

Hypertables và khối

Hypertables và khối giúp lưu trữ và truy vấn dữ liệu chuỗi thời gian nhanh chóng

ở quy mô petabyte

Trang 13

TimescaleDB tự động phân vùng dữ liệu chuỗi thời gian thành các phần hoặc

bảng con, dựa trên thời gian và không gian Bạn có thể định cấu hình kích thướcphần nhỏ để các phần gần đây vừa với bộ nhớ cho các truy vấn nhanh hơn

Một siêu bảng là một lớp trừu tượng trên các phần chứa dữ liệu chuỗi thời

gian Siêu bảng cho phép bạn truy vấn và truy cập dữ liệu từ tất cả các phần trongsiêu bảng Bạn nhận được tất cả các lợi ích của việc phân chia tự động cho dữliệu chuỗi thời gian, cùng với sự đơn giản khi làm việc với những gì trông giốngnhư một bảng PostgreSQL tiêu chuẩn, duy nhất

Hypertables và khối cho phép hiệu suất vượt trội cho các truy vấn nông và rộng,giống như những truy vấn được sử dụng trong giám sát thời gian thực Chúngcũng tốt cho các truy vấn sâu và hẹp, giống như các truy vấn được sử dụng trongphân tích chuỗi thời gian

Trang 14

Thêm dữ liệu chuỗi thời gian

Để khám phá các tính năng của TimescaleDB, bạn cần một số dữ liệu

mẫu Hướng dẫn này cung cấp dữ liệu giao dịch chứng khoán theo thời gian thực,còn được gọi là dữ liệu đánh dấu, từ Dữ liệu mười hai

Giới thiệu về tập dữ liệu

Tập dữ liệu chứa dữ liệu giao dịch chứng khoán theo từng giây cho 100 biểu tượng được giao dịch nhiều nhất, trong một siêu bảng có

tên stocks_real_time Nó cũng bao gồm một bảng riêng biệt gồm các ký hiệu

Trang 15

công ty và tên công ty, trong một bảng PostgreSQL thông thường có

tên company

Tập dữ liệu được cập nhật hàng đêm và chứa dữ liệu từ bốn tuần qua, thường là ~

8 triệu hàng dữ liệu Giao dịch chứng khoán được ghi lại theo thời gian thực từ Thứ Hai đến Thứ Sáu, thường là trong giờ giao dịch bình thường của Sở Giao dịch Chứng khoán New York (9:30 sáng - 4:00 chiều EST)

GHI CHÚ

Trong trường hợp bạn muốn nhập dữ liệu thời gian thực, thay vì dữ liệu mẫu, hãyđọc hướng dẫn Nhập dữ liệu websocket tài chính theo thời gian thực và nhập dữ liệu trực tiếp từ API tài chính Twelve Data

Bảng chi tiết

stocks_real_time: chứa dữ liệu kho Bao gồm báo giá cổ phiếu vào mỗi giây trong giờ giao dịch

Đồng ruộng Loại hình Sự mô tả

thời gian timestamptz Cột dấu thời gian tăng dần từng giây

Giá cổ phiếu cho một công ty tại dấu thờigian nhất định

day_volume int

Số lượng cổ phiếu được giao dịch mỗi ngày,giá trị NULL cho biết thị trường đóng cửacompany: chứa một ánh xạ cho các ký hiệu đến tên công ty

Trang 16

Đồng ruộng Loại hình Sự mô tả

Biểu tượng chữ biểu tượng đại diện cho tên công ty

Truy vấn dữ liệu của bạn

Với TimescaleDB, không cần phải học ngôn ngữ truy vấn tùy chỉnh, vì

TimescaleDB hỗ trợ SQL đầy đủ Bạn có thể sử dụng kiến thức SQL của mình cùng với hệ sinh thái phong phú của các công cụ PostgreSQL, đồng thời thêm cáctính năng và hiệu suất bổ sung của TimescaleDB

Dưới đây là một số ví dụ truy vấn để bạn có thể làm quen với việc sử dụng SQL cùng với các hàm TimescaleDB phổ biến

Tạo tổng hợp liên tục

Tổng hợp là bản tóm tắt dữ liệu thô trong một khoảng thời gian Một số ví dụ về tổng hợp bao gồm giá cổ phiếu trung bình mỗi ngày, mức sử dụng CPU tối đa mỗi 5 phút hoặc số lượng khách truy cập trên trang web mỗi tuần

Tính toán tổng hợp trên dữ liệu chuỗi thời gian có thể được tính toán chuyên sâu Có một số lý do khác nhau cho điều này:

1 Việc tổng hợp một lượng lớn dữ liệu thường đòi hỏi nhiều thời gian tính toán

2 Việc sử dụng dữ liệu mới yêu cầu các tính toán tổng hợp mới có thể ảnh hưởng đến tốc độ nhập và tốc độ tổng hợp

Các tổng hợp liên tục của TimescaleDB giải quyết cả hai vấn đề này Tổng hợp liên tục là các chế độ xem cụ thể hóa tự động được làm mới để tăng tốc độ tải công việc truy vấn cho một lượng lớn dữ liệu Họ giải quyết một số điểm đau chính bằng quan điểm cụ thể hóa và các giải pháp tổng hợp cây nhà lá vườn theo một số cách

Trang 17

Đầu tiên, TimescaleDB xử lý các tính toán tổng hợp khi tổng hợp được tạo và sau

đó lưu trữ kết quả tổng hợp để giảm thiểu việc tính toán lại khi dữ liệu thô mới được thêm vào

Thứ hai, TimescaleDB cung cấp các bản cập nhật liên tục cho dữ liệu tổng hợp liên tục với chính sách làm mới tổng hợp liên tục tự động Điều này lên lịch cho một công việc tự động tính toán lại dữ liệu mới trong một khoảng thời gian cụ thể Do đó, chính sách chỉ tính toán lại những thay đổi mới nhất trong dữ liệu thô thay vì tính toán lại mọi thứ

Trang 18

TimescaleDB bao gồm các khả năng nén gốc cho phép bạn phân tích và truy vấnmột lượng lớn dữ liệu chuỗi thời gian lịch sử bên trong cơ sở dữ liệu đồng thờitiết kiệm chi phí lưu trữ Ngoài ra, tất cả các kiểu dữ liệu PostgreSQL đều có thểđược sử dụng trong quá trình nén

Nén dữ liệu chuỗi thời gian trong một siêu bảng là một quá trình gồm haibước Đầu tiên, bạn cần bật tính năng nén trên một siêu bảng bằng cách choTimescaleDB biết cách nén và sắp xếp dữ liệu khi nó được nén Khi tính năngnén được bật, dữ liệu sau đó có thể được nén theo một trong hai cách:

 Sử dụng chính sách tự động

 Nén các khối theo cách thủ công

Trang 19

Tạo chính sách lưu giữ dữ liệu

Một phần nội tại của việc làm việc với dữ liệu chuỗi thời gian là mức độ liênquan của dữ liệu có thể giảm dần theo thời gian Khi dữ liệu mới tích lũy, dữ liệu

cũ trở nên ít giá trị hơn và hiếm khi được cập nhật Vì vậy, bạn thường muốn xóa

dữ liệu thô cũ để tiết kiệm dung lượng ổ đĩa

Điều này đặc biệt hữu ích khi kết hợp với các tập hợp liên tục Dữ liệu thô đượclấy mẫu xuống thành một tổng hợp liên tục và sau đó, chính sách lưu giữ dữ liệu

có thể loại bỏ dữ liệu thô của đơn đặt hàng không còn cần thiết nữa

Trong hình ảnh này, việc giảm dữ liệu trên siêu bảng bên dưới không ảnh hưởngđến tổng hợp liên tục Tổng hợp liên tục của bạn không bị ảnh hưởng miễn là bạnkhông làm mới tổng hợp liên tục trong khoảng thời gian mà bạn đã bỏ dữ liệu:

Trang 20

Có hai cách để loại bỏ dữ liệu lịch sử khỏi một siêu bảng:

 Chính sách lưu giữ dữ liệu tự động

 Thả các khối theo cách thủ công

b) Hướng dẫn sử dụng (Nghĩa là sử dụng có công nghệ đó)

Tạo siêu bảng đầu tiên của bạn

1 Tạo một bảng PostgreSQL thông thường để lưu trữ dữ liệu giao dịch chứng khoán theo thời gian thực bằng cách sử dụng CREATE TABLE:

Trang 21

TẠO BẢNG stock_real_time (

thời gian TIMESTAMPTZ KHÔNG ĐỦ ,

biểu tượng TEXT NOT NULL ,

giá DOUBLE CHÍNH XÁC NULL ,

day_volume INT NULL

) ;

2 Chuyển đổi bảng thông thường thành một siêu bảng được phân vùng trên timecột bằng cách sử dụng create_hypertable()hàm do TimescaleDB cung cấp Bạn phải cung cấp tên của bảng ( stocks_real_time) và cột trong bảng đó chứa dữ liệu dấu thời gian để sử dụng cho phân vùng ( time):

SELECT create_hypertable ( 'stock_real_time' , 'time' ) ;

3 Tạo chỉ mục để hỗ trợ các truy vấn hiệu quả trên cột symbolvà time :

TẠO CHỈ SỐ ix_symbol_time ON stock_real_time ( ký hiệu , thời gian DESC ) ;

GHI CHÚ

Khi bạn tạo một siêu bảng, nó sẽ tự động được phân vùng trên cột thời gian mà bạn cung cấp làm tham số thứ hai create_hypertable() Ngoài ra, TimescaleDB tựđộng tạo chỉ mục trên cột thời gian Tuy nhiên, bạn cũng sẽ thường lọc dữ liệu chuỗi thời gian của mình trên các cột khác Sử dụng các chỉ mục một cách thích hợp sẽ giúp các truy vấn của bạn hoạt động tốt hơn

Bởi vì bạn thường truy vấn dữ liệu giao dịch chứng khoán theo ký hiệu công ty, bạn nên thêm chỉ mục cho nó Bao gồm cột thời gian vì dữ liệu chuỗi thời gian thường tìm kiếm dữ liệu trong một khoảng thời gian cụ thể

Nhập tập dữ liệu

Để nhập dữ liệu vào các bảng mà bạn đã tạo, bạn cần tải xuống tập dữ liệu và dữ liệu vào cơ sở dữ liệu của mình

Ngày đăng: 18/12/2022, 00:09

🧩 Sản phẩm bạn có thể quan tâm

w