, có trụ sở tại Úc, xây dựng các nền tảng phần mềm đẳng cấp thế giới và các sản phẩm cho phép giám sát, kiểm soát, tối ưu hóa và tổ chức một loạt các nguồn tài nguyên năng lượng phân tán và tài sản quy mô tiện ích. Evergen Evergen Nhiệm vụ của Evergen là giảm carbon hóa hệ thống năng lượng bằng cách tạo điều kiện cho việc chuyển đổi sang các hệ thống năng lượng tái tạo và bền vững. phương pháp tiếp cận dựa trên đám mây đảm bảo tất cả các bên liên quan trên toàn chuỗi năng lượng tái tạo có quyền truy cập vào thông tin cần thiết để đưa ra quyết định có hiểu biết về việc sử dụng và sản xuất năng lượng của họ. Khi cơ sở hạ tầng của Evergen mở rộng, nó tìm kiếm một nền tảng phân tích theo chuỗi thời gian và thời gian thực có thể mở rộng theo nhu cầu của nó.Đây là cách Evergen phát hiện ra TigerData (nhà sáng tạo của TimescaleDB), và cách TigerData biến đổi hoạt động của nó - dựa trên một cuộc phỏng vấn với kỹ sư phần mềm hàng đầu của Evergen, Jose Luis Ordiales Coscia. Tại sao Evergen cần một cơ sở dữ liệu chuỗi thời gian "Tối ưu hóa năng lượng tái tạo", Jose nói, "là một phần lớn trong kinh doanh của Evergen, và dữ liệu chuỗi thời gian là điều cần thiết cho điều đó. Evergen ban đầu đã sử dụng MongoDB Atlas cho chuỗi thời gian vì đó là cơ sở dữ liệu mặc định của họ cho dữ liệu chuỗi không thời gian thông thường. Tuy nhiên, thiết lập chuỗi thời gian của Evergen sử dụng MongoDB hóa ra là hạn chế về chi phí và về mặt kỹ thuật: “Đội ngũ của chúng tôi đã tạo ra sơ đồ riêng của họ trên MongoDB bằng cách lưu trữ dữ liệu trong thùng chứa, nơi mỗi thùng chứa là một ngày. Điểm đột phá cho MongoDB là số lượng thiết bị được cài đặt vào hệ thống và dữ liệu tần số phút mà họ tạo ra. “Chúng tôi thấy rằng khi dữ liệu đi qua, MongoDB trở nên khó sử dụng hơn bởi vì chúng tôi đang chỉnh sửa nhiều dữ liệu hơn và lưu trữ nhiều dữ liệu hơn cùng một lúc”, Jose nói. Sự phức tạp kỹ thuật và hạn chế về khả năng mở rộng Thách thức kỹ thuật bắt đầu với giới hạn lưu trữ dữ liệu thô trong MongoDB. Evergen có hàng trăm tích hợp để đảm bảo khả năng tương thích giữa các nhà sản xuất thiết bị, và thường xuyên, rút dữ liệu từ mỗi tích hợp đó và gửi nó đến một chủ đề Kafka, nơi nó xuất bản tất cả các mẫu thô. "Chúng tôi đã thực hiện tổng hợp trước trong bộ nhớ", Jose nói, "bởi vì nó quá tốn kém cho chúng tôi để lưu trữ tất cả các quan sát thô trong MongoDB. Nếu chúng tôi muốn có cả dữ liệu thô và tổng hợp, chúng tôi phải làm tất cả điều đó theo cách thủ công cho mỗi dữ liệu.” liên tục aggregates liên tục aggregates Do khối lượng dữ liệu cao, dịch vụ xử lý dòng Kafka của họ rất lớn. Evergen đã chạy khoảng 30 trường hợp của dịch vụ đó, chiếm một tỷ lệ phần trăm lớn của việc sử dụng chúng trong Kubernetes. Dữ liệu đến muộn - hơn 15 phút cho tổng hợp 5 phút và một giờ cho tổng hợp 30 phút - bị mất vì họ không còn có dữ liệu tổng hợp trước trong bộ nhớ. Không có dữ liệu thô tạo ra sự thiếu minh bạch cho các bài kiểm tra và xử lý lỗi. Theo Jose, hiệu suất của MongoDB cho chuỗi thời gian là không tương tự: “Mọi người đều biết rằng nó không phải là lý tưởng, nhưng đó là một trong những điều mà bạn nghĩ, tại một thời điểm nào đó chúng tôi sẽ sửa chữa nó, nhưng không ai thực sự làm. Quá trình đánh giá cơ sở dữ liệu Trong quá trình đánh giá của họ, Evergen đã xem xét ngắn gọn về InfluxDB, nhưng vì nó đang giảm hỗ trợ cho khu vực Úc vào thời điểm đó, đó là một điều không thể làm ngay từ đầu. Bởi vì toàn bộ cơ sở hạ tầng của họ nằm trong AWS và họ sử dụng các dịch vụ AWS khác, Evergen lần đầu tiên đánh giá Amazon Timestream. Hiệu suất trì hoãn (ngay cả việc thu thập dữ liệu trong một ngày hoặc một tuần là theo thứ tự 2-5 giây) và thiếu truy vấn hoặc điều chỉnh hiệu suất. Không thể chạy cơ sở dữ liệu Timestream cục bộ với Docker (trong khi chạy Postgres và TimescaleDB cục bộ rất dễ dàng) – chạy các thử nghiệm cục bộ với Timestream đòi hỏi phải kết nối với AWS để tạo cơ sở dữ liệu thực tế, sau đó xóa nó ở cuối. Không sử dụng cho dự báo năng lượng tái tạo - theo đó Timestream chỉ cho phép lưu trữ dữ liệu lên đến 15 phút trong tương lai. Evergen sau đó đã thử sử dụng Timestream cho dữ liệu chuỗi thời gian lịch sử và Redis cho dữ liệu chuỗi thời gian dự đoán. họ có công việc và logic để di chuyển dữ liệu từ Redis sang Timestream theo thời gian, tuy nhiên dữ liệu liên quan đến thiết bị và trang web vẫn còn trong MongoDB. Đó là một trong những điều chính mà chúng tôi đang xem xét khi chúng tôi bắt đầu quá trình đánh giá này – có thể sử dụng một cơ sở dữ liệu duy nhất cho tất cả dữ liệu của chúng tôi: chuỗi thời gian và chuỗi không thời gian. Đó là một điểm bán hàng lớn đối với chúng tôi khi nói đến TimescaleDB bởi vì nó chỉ là Postgres bên dưới. Bạn có thể sử dụng nó như một cơ sở dữ liệu quan hệ thông thường. Evergen cũng đã thử hỗ trợ chuỗi thời gian trong MongoDB: “Họ có loại bộ sưu tập mới này trong MongoDB xử lý dữ liệu chuỗi thời gian. nhưng họ đã bỏ lỡ một loạt các tính năng mà TigerData có, chẳng hạn như tổng hợp liên tục, chính sách lưu giữ và nén. hiệu suất cũng không tốt như những gì chúng ta có được với TigerData.” Khám phá và thử nghiệm TigerData Jose ban đầu tìm hiểu về TigerData thông qua một người bạn làm việc ở đó như là một kỹ sư backend. Sau khi tìm hiểu về sản phẩm, Jose đã nộp đơn làm việc tại TigerData, khi ông đang tìm cách chuyển đổi vai trò từ một công ty trước đó. Sau đó, khi ông gia nhập Evergen, ông trở thành một người ủng hộ lớn cho việc sử dụng TimescaleDB khi nhóm của ông bắt đầu xem xét nó - ông đã biết các tính năng của nó và rằng nó được xây dựng trên công nghệ cũ, nhàm chán, được thử nghiệm trong trận chiến, đó là "tốt cho một cơ sở dữ liệu - bạn không muốn bất kỳ bất ngờ nào ở đó." Trong khi đánh giá TimescaleDB, Evergen đã tận dụng các nguồn lực của TigerData: “Dữ liệu chính thức rất toàn diện và dễ hiểu và theo dõi. blog TigerData cũng có một số cuộc thảo luận thực sự tốt đẹp về sự thỏa hiệp của các phương pháp khác nhau. Điều đó đặc biệt hữu ích trong POC. kênh cộng đồng Slack cũng rất tuyệt vời.” Bằng chứng về khái niệm của Evergen liên quan đến việc thiết lập chữ viết kép và chữ đọc kép bằng cách chạy MongoDB và TimescaleDB song song. Điều này cho phép họ kiểm tra TimescaleDB mà không làm gián đoạn hoạt động hoặc ảnh hưởng đến khách hàng. Một khi họ có một vài tháng dữ liệu được lưu trữ trong TimescaleDB, họ đã thực hiện chuyển đổi. Từ quan điểm khả năng mở rộng, hoạt động và kinh nghiệm của nhà phát triển, TimescaleDB kiểm tra tất cả các hộp - cung cấp hiệu suất truy vấn / truy vấn, tính linh hoạt và dễ sử dụng. “Bởi vì chúng tôi có hàng trăm ngàn thiết bị, và có khả năng nhìn vào hàng triệu thiết bị trong tương lai, chúng tôi cần đảm bảo tỷ lệ tiêu thụ đều đặn. cho đến nay nó đã rất tuyệt vời với TigerData.” – Jose Luis Ordiales Coscia, Kỹ sư phần mềm hàng đầu tại Evergen “Bởi vì chúng tôi có hàng trăm ngàn thiết bị, và có khả năng nhìn vào hàng triệu thiết bị trong tương lai, chúng tôi cần đảm bảo tỷ lệ tiêu thụ đều đặn. cho đến nay nó đã rất tuyệt vời với TigerData.” – Jose Luis Ordiales Coscia, Kỹ sư phần mềm hàng đầu tại Evergen “Bởi vì chúng tôi có hàng trăm ngàn thiết bị, và có khả năng nhìn vào hàng triệu thiết bị trong tương lai, chúng tôi cần đảm bảo tỷ lệ tiêu thụ đều đặn. Cho đến nay, nó đã rất tuyệt vời với TigerData”, Jose nói. Evergen cũng đánh giá cao hiệu suất truy vấn của TimescaleDB vì dữ liệu đó cung cấp các bảng điều khiển theo khách hàng theo thời gian thực: “Bạn không muốn người dùng của bạn phải chờ 5-10 giây chỉ để xem các biểu đồ đó.” Sự sẵn có của các công cụ của nhà phát triển cũng là một yếu tố quyết định: “Bởi vì Postgres là một cầu thủ đã được thiết lập trên thị trường, có hàng ngàn thư viện và công cụ để làm việc với.” Vì vậy, đã quen thuộc với cách truy vấn dữ liệu: “Mọi người đều biết SQL ở một mức độ nào đó, ngay cả những người không phải là kỹ thuật. “Mọi người đều biết SQL ở một mức độ nào đó, ngay cả những người không phải là kỹ thuật.Chúng tôi có thể cung cấp cho ai đó trong nhóm khoa học dữ liệu hoặc nhóm hỗ trợ khách hàng quyền truy cập vào TimescaleDB, và họ sẽ tìm ra cách truy vấn dữ liệu, mà không phải là trường hợp với MongoDB.” – Jose Luis Ordiales Coscia, Kỹ sư phần mềm hàng đầu tại Evergen “Mọi người đều biết SQL ở một mức độ nào đó, ngay cả những người không phải là kỹ thuật.Chúng tôi có thể cung cấp cho ai đó trong nhóm khoa học dữ liệu hoặc nhóm hỗ trợ khách hàng quyền truy cập vào TimescaleDB, và họ sẽ tìm ra cách truy vấn dữ liệu, mà không phải là trường hợp với MongoDB.” – Jose Luis Ordiales Coscia, Kỹ sư phần mềm hàng đầu tại Evergen An ninh cũng là một cân nhắc. Đáp ứng yêu cầu của Evergen Các tính năng bảo mật của TigerData Các tính năng bảo mật của TigerData Làm thế nào Evergen sử dụng TigerData Thay thế MongoDB bằng TimescaleDB cho dữ liệu chuỗi thời gian và thiết lập một “Dịch vụ viễn thông” đã đạt được tập trung dữ liệu mà trước đây không thể. “Chúng tôi cố gắng đóng gói và cô lập quyền truy cập vào một dịch vụ đang xử lý dữ liệu chuỗi thời gian. Một mục tiêu của việc di chuyển này là tập hợp tất cả các bài đọc và viết vào một nơi duy nhất - "Dịch vụ viễn thông". nó xử lý chuỗi thời gian và dữ liệu quan hệ, và có quyền truy cập gần như độc quyền vào (Managed TimescaleDB) instance at Evergen. One exception is the access they provide to their data science team for exploratory querying of the data. của cơ sở dữ liệu chính, chỉ dành cho nhóm đó, giúp vì nó cung cấp quyền truy cập mà không ảnh hưởng đến hiệu suất. Tiger đám mây Đọc Replica Tiger đám mây Đọc Replica Evergen cũng sử dụng rất nhiều PopSQL IDE tích hợp của TigerData. Jose nói: “Đó là một công cụ tuyệt vời để khám phá cơ sở dữ liệu và chia sẻ truy vấn. chúng tôi không có điều đó với MongoDB. chúng tôi phải đăng nhập vào trang MongoDB Atlas mỗi lần và viết lại truy vấn của chúng tôi theo cách thủ công.” Làm thế nào Tiger Cloud Benefits kết thúc khách hàng Với MongoDB, Evergen chỉ có thể lưu trữ dữ liệu trong ba tháng do hạn chế về chi phí. “Bây giờ với TigerData,” Jose chia sẻ, “nó tùy thuộc vào chúng tôi để xác định các chính sách lưu trữ đó. Đó chắc chắn là một điểm bán cho nhóm sản phẩm của chúng tôi, cho phép báo cáo năng lượng gia đình cho năm qua so với một trong ba tháng vừa qua.” Hiệu suất truy vấn là một chiến thắng lớn khác: “Trước đây, bạn đã phải đợi một vài giây khi truy cập ứng dụng web hoặc ứng dụng di động của mình để xem các biểu đồ đó.Bây giờ nó chỉ dưới 500 milliseconds, đó là thực sự, thực sự tốt. dữ liệu chính nó rất quan trọng đối với tổ chức bởi vì mọi thứ chúng tôi làm đều phải đối phó với dữ liệu chuỗi thời gian. Dữ liệu chuỗi thời gian hiện đang được xử lý bởi TigerData cũng rất quan trọng đối với dịch vụ tối ưu hóa năng lượng của Evergen. dịch vụ đó bao gồm tối ưu hóa phía sau đồng hồ (tối ưu hóa học máy cung cấp tối thiểu hóa chi phí điện cá nhân tiên tiến) và tối ưu hóa phía trước đồng hồ (mà cho phép tài sản có thể phân phối được kiếm tiền). Việc áp dụng Tiger Cloud có ý nghĩa gì đối với Evergen Đối với Evergen, việc thay thế MongoDB bằng Tiger Cloud làm giảm sử dụng tài nguyên cụm Kubernetes hơn 50%. tiết kiệm chi phí, nén hiệu quả, lưu trữ cấp và truy cập liên tục vào dữ liệu lịch sử có nghĩa là sự nhanh nhẹn về kỹ thuật và kinh doanh mới. “Có quyền tự do quyết định có bao nhiêu dữ liệu để lưu trữ, những gì hữu ích và những gì không”, Jose nói, “đã là một chiến thắng lớn bởi vì trước đây có một giới hạn khó khăn về số lượng dữ liệu chúng ta có thể lưu trữ. Bây giờ chúng ta có sự linh hoạt đó để nói dữ liệu cũ này – chúng ta muốn giữ nó trong S3. Nó sẽ chậm hơn để truy cập, nhưng đó là tốt. và chúng tôi muốn giữ rất nhiều dữ liệu trong lưu trữ hiệu suất cao. Tiger Cloud cũng đơn giản hóa stack của Evergen: "Đơn giản hóa kiến trúc của chúng tôi - có thể thay thế tất cả các cơ sở dữ liệu cụ thể khác nhau - đó là một điều rất lớn đối với sự phức tạp tổng thể của kiến trúc, làm cho việc mở rộng điều này trong tương lai cũng dễ dàng hơn." Truy cập tất cả dữ liệu thô có nghĩa là họ có thể tham khảo nó để gỡ lỗi và theo dõi nó đến các thiết bị cụ thể - điều này dễ dàng hơn nhiều để làm với dữ liệu thô hơn là với dữ liệu tổng hợp trước. "Khả năng lưu trữ tất cả dữ liệu thô", Jose giải thích, "có nghĩa là chúng ta có thể tạo ra các tập hợp mới mà chúng ta thậm chí chưa xem xét - trên chuyến bay. chúng ta không thể làm điều đó trước đó. Với TigerData, nếu ngày mai chúng ta quyết định chúng ta cần dữ liệu mới này bắt nguồn từ dữ liệu thô, chúng ta chỉ có thể tạo ra một tập hợp mới, chạy toàn bộ quá trình bồi thường, và đó là nó - chúng ta có nó. Được xây dựng dựa trên Postgres quen thuộc, Tiger Cloud đã có tác động tích cực đến việc gia nhập nhóm. “Bởi vì mọi người đều biết SQL, ở một mức độ nào đó, và mọi người đều đã làm việc với SQL tại một số điểm trong sự nghiệp của họ, thật dễ dàng cho [những kỹ sư mới được thuê] chỉ cần nhảy vào mã lưu trữ và tìm ra những gì đang xảy ra.” Kế hoạch tương lai sử dụng TigerData Chọn TigerData đã giúp Evergen chứng minh tương lai kiến trúc của họ khi họ mở rộng quy mô. “Đó là sự thật – bạn có thể sử dụng Postgres cho mọi thứ trong những ngày này. Có một phần mở rộng cho tất cả mọi thứ. Đó là một yếu tố lớn khác cho quyết định – nghĩ gì nếu chúng ta cần lưu trữ loại dữ liệu này trong tương lai? Oh yes, có phần mở rộng này đã có sẵn. Có khả năng đó – tôi nghĩ đó là một điều lớn đối với công ty”, Jose nói. Với TigerData, Evergen đã xây dựng một nền tảng dữ liệu cho khả năng mở rộng để hỗ trợ kế hoạch của họ để tiếp cận các thị trường mới và tăng số lượng thiết bị mà họ có theo thứ tự của quy mô. Evergen cũng có kế hoạch sử dụng một tính năng TigerData đang làm việc trên, mà sẽ làm cho dữ liệu Evergen có trong Tiger Cloud có sẵn cho các nhóm khác có thể đang sử dụng các công cụ khác nhau. Jose khuyên các kỹ sư xem xét việc chuyển đổi: “Khi tạo trừu tượng trong cơ sở mã của bạn, hãy giữ mọi thứ liên quan đến một công nghệ cụ thể tách biệt với phần còn lại của mã vì điều đó làm cho chúng tôi dễ dàng hơn nhiều để chạy thí nghiệm đọc và viết đôi của chúng tôi – bởi vì có một nơi duy nhất trong cơ sở mã mà chúng tôi phải đi và thay đổi để điều đó xảy ra.