Tôi đã tự hỏi liệu có ai có suy nghĩ về việc chuyển đổi cấu trúc cơ sở dữ liệu tài liệu JSON thành SQL hay không. Nó cần phải được thực hiện để tích hợp/lưu trữ dữ liệu.Kiến trúc tốt nhất để chuyển đổi JSON sang SQL?
Trường JSON tương đối tĩnh, nhưng 'trường' mới có thể xuất hiện sau mỗi 2-4 tuần.
Do tính chất này, và chuyển đổi sang SQL --- tôi đã suy nghĩ ... phân tích tất cả các trường tĩnh vào các trường SQL. Các trường 'động' được cấu trúc trong một phần của tài liệu JSON, thật may mắn.
Ý tưởng của tôi là chỉ cần bỏ 'phần trường động' này có thể chứa 50, 100 trường, những người biết - nó có thể thay đổi chậm --- thành một trường SQL bổ sung.
Bằng cách đó, ít nhất quy trình ETL tương đối tĩnh bất kể các trường JSON thay đổi như thế nào.
Sau đó, một lớp thứ hai hoặc có thể "xem" về cơ bản sẽ phân tích cú pháp cột khổng lồ này thành các trường riêng biệt của nó. IE cột khổng lồ có thể nói "màu sắc: đỏ; trạng thái: mở; thành phố: Rome" ... và một loạt các chức năng chuỗi sẽ phân tích chúng ra để điền vào các màu sắc, trạng thái, và các lĩnh vực thành phố, có thể trong một cái nhìn.
Tôi không chắc liệu đây có phải là suy nghĩ điên rồ hay không. Một lựa chọn khác là thực thi các câu lệnh MySQL một cách nhanh chóng (để thêm các cột) khi chúng gặp phải trong các tài liệu JSON, nhưng đó là tập các vấn đề của riêng nó.
Có ai có suy nghĩ về điều này không?
Và nói rằng cơ sở dữ liệu chỉ được thêm vào, không bao giờ được cập nhật. Trong trường hợp đó, việc 'phân tích' chỉ phải được thực hiện một lần cho mỗi hàng. Liệu một lượt xem vẫn sẽ là lựa chọn tốt nhất? Hoặc chỉ đơn giản là một bảng khác?
Vâng đó là những gì tôi đã suy nghĩ. Nó giống như một cơ sở hàng tháng, nhưng thậm chí đó là quá nhiều bảo trì. Các trường sẽ không được ẩn danh chính xác ... về cơ bản chúng là các trường "do người dùng tạo" trong một ứng dụng (không phải do tạo của tôi) --- có thể đến một thời điểm khi một trường do người dùng tạo ra hữu ích trong một Business Intelligence/Data Warehouse setting ... Tôi nghĩ phân tích cú pháp từ "trường chuỗi lớn" dễ quản lý theo cách này, nhưng không chắc liệu điều đó có lố bịch hay không. – user45867