Tôi muốn biết ý kiến của bạn. Tôi đã tạo một ứng dụng, nơi người dùng tạo các tuyến đường và chúng tôi theo dõi tuyến đường này và lưu tất cả các điểm trong cơ sở dữ liệu. Sau đó, ứng dụng thực hiện so sánh các điểm của người dùng.Cách hiệu quả nhất để lưu điểm và so sánh?
Hiện tại, tôi sử dụng Máy chủ MSSQL
, sử dụng hai bảng, một cho Tuyến đường và một để lưu trữ các điểm cách (với kiểu dữ liệu không gian). Các so sánh được thực hiện trong quy trình được lưu trữ bằng cách sử dụng các chức năng địa lý của SQL Server như st_distance ...
Tôi đã điều tra các tùy chọn khác. Một trong đó tôi thực hiện là với Oracle 11g sử dụng các đối tượng. Tôi lưu trữ tất cả dữ liệu trong chỉ một Bảng đối tượng và cách các điểm được lưu trữ trong Biến thể của một loại có thuộc tính Latitude và Kinh độ. Bằng cách này, việc tiết kiệm và truy xuất dữ liệu rất hiệu quả, nhưng sẽ phức tạp hơn khi so sánh.
Tôi đang tìm giải pháp NoSQL
, một số thuật toán hoặc phương pháp để thực hiện điều này một cách hiệu quả. Bạn nghĩ sao?
Câu trả lời của tôi có giúp bạn không? –
Có, nó đã giúp, cảm ơn! Tôi nghĩ rằng giải pháp không phải là cách tôi lưu trữ thông tin, nhưng trong thuật toán để so sánh waypoints. Để làm điều này, trước tiên tôi phải giảm số lượng điểm tham chiếu đến những điểm liên quan và thống nhất nhất có thể phù hợp với các tuyến khác và sau đó thực hiện so sánh (như trạng thái câu trả lời của bạn). Tôi đã không thực sự thử nghiệm nó, nếu nó kết quả với hiệu suất tốt hơn, tôi sẽ gửi giải pháp của tôi. –