Minh  Nguyet

Minh Nguyet

1659534134

Cách Quản Lý Cosmos DB Bằng Azure Storage Explorer

Bài viết này sẽ giải thích cách thực hiện các hoạt động khác nhau cho Azure cosmos DB bằng cách sử dụng Azure storage explorer. Trình khám phá bộ nhớ là một tiện ích máy tính để bàn rất hữu ích giúp quản trị viên quản lý bộ nhớ Azure mà không cần truy cập cổng Azure. Chúng tôi cũng có thể kết nối với tài khoản Azure Cosmos DB bằng công cụ này nhưng tính năng này sẽ không được dùng nữa trong tương lai. Hiện tại, nó đã được hỗ trợ nên tôi quyết định khám phá nó cho các hoạt động DB của vũ trụ.

Azure Cosmos DB là một dịch vụ cơ sở dữ liệu NoSQL được quản lý hoàn toàn trong đám mây Azure được phân phối toàn cầu và phù hợp cho việc phát triển ứng dụng hiện đại. Đây là một dịch vụ cơ sở dữ liệu nhanh hơn, dễ mở rộng, khả dụng cao và an toàn.

Thực hiện các hoạt động Cosmos DB khác nhau bằng cách sử dụng trình khám phá bộ nhớ Azure

Tôi sẽ chỉ cho bạn các hoạt động DB vũ trụ khác nhau bằng cách sử dụng trình khám phá lưu trữ trong phần này. Hãy để tôi bắt đầu với việc kết nối với tài khoản Azure để xem các tài khoản cosmos DB nếu chúng đã được tạo trên tài khoản Azure của bạn.

Kết nối với Tài khoản Azure bằng trình khám phá bộ nhớ Azure

Khởi chạy trình khám phá bộ nhớ Azure trên máy tính để bàn của bạn. Nhấp vào tab View để hiển thị danh sách các tùy chọn. Chọn Quản lý tài khoản để chọn tài khoản Azure của bạn.

Kết nối với tài khoản Azure bằng trình khám phá bộ nhớ

Màn hình bên dưới sẽ xuất hiện khi bạn nhấp vào Quản lý tài khoản trên màn hình trên. Tôi đã chọn đăng ký mong muốn của mình từ hình ảnh bên dưới bằng cách nhấp vào hộp kiểm tương ứng của họ. Bây giờ, hãy nhấp vào tab Open Explorer hiển thị bên dưới hộp kiểm của tài khoản Azure.

Kết nối với tài khoản Azure bằng trình khám phá bộ nhớ

Bạn có thể thấy đăng ký được hiển thị trong trình khám phá bên dưới. Mở rộng tùy chọn Tài khoản DB Cosmos hiển thị đăng ký chưa được kết nối. Chúng tôi không có bất kỳ tài khoản cosmos DB nào theo đăng ký này nên nó không hiển thị bất kỳ chi tiết nào trong tùy chọn này. Hỗ trợ cho tài khoản cosmos DB sử dụng trình khám phá bộ nhớ Azure sẽ không được dùng nữa trong các phiên bản trong tương lai, đó là lý do tại sao bạn có thể thấy không dùng nữa đang hiển thị bên cạnh tùy chọn tài khoản cosmos DB.

Kết nối với tài khoản Azure bằng trình khám phá bộ nhớ

Tôi đã chỉ cho bạn cách kết nối với tài khoản Azure để xem các tài khoản Cosmos DB được kết nối trong trình khám phá bộ nhớ Azure trong phần này. Tiếp theo, hãy tạo tài khoản cosmos DB trên cổng Azure và kết nối nó với trình khám phá bộ nhớ để thực hiện các hoạt động khác nhau.

Tạo tài khoản cơ sở dữ liệu Azure Cosmos

Đăng nhập vào cổng Azure. Nhập Azure Cosmos DB vào thanh tìm kiếm để hiển thị dịch vụ này. Trang dưới đây sẽ hiển thị khi bạn nhấp vào tùy chọn cosmos DB. Tất cả các tài khoản cosmos DB sẽ hiển thị trên trang này. Vì chúng tôi chưa cung cấp cosmos DB nên nó không hiển thị bất kỳ chi tiết nào trong hình ảnh bên dưới. Trước tiên, hãy tiếp tục và tạo một tài khoản cosmos DB.

Nhấp vào tùy chọn + Tạo được đưa ra ngay bên dưới tiêu đề Cơ sở dữ liệu Azure Cosmos hoặc nhấp vào tab Tạo tài khoản Cơ sở dữ liệu Azure Cosmos được cung cấp ở giữa hình ảnh bên dưới.

Trang cơ sở dữ liệu Azure cosmos

Màn hình tiếp theo sẽ đến để chọn API theo khối lượng công việc của chúng tôi. Tôi đã chọn API Core (SQL) được đề xuất từ ​​hình ảnh bên dưới và nhấn nút Tạo cho tùy chọn này.

Chọn API mong muốn cho tài khoản cosmos db

Màn hình bên dưới có tên Tạo tài khoản cơ sở dữ liệu Azure Cosmos -Core (SQL) sẽ xuất hiện để điền tất cả các chi tiết cần thiết để tạo tài khoản cơ sở dữ liệu Cosmos. Nếu bạn chọn một API khác với Core SQL thì bạn sẽ nhận được một biểu mẫu tương tự cho API đó để tạo tài khoản Cosmos DB.

Vì tôi phải chứng minh nó trong trình khám phá bộ nhớ nên tôi đã giữ nguyên tất cả các cài đặt mặc định.

Tạo tài khoản Azure cosmos DB

Khi bạn đã nhập tất cả các chi tiết trên tất cả các tab hiển thị trong hình trên, hãy nhấn vào nút Xem lại + tạo để bắt đầu quá trình xác thực. Bạn có thể thấy xác nhận thành công trong hình ảnh dưới đây. Bây giờ hãy nhấp vào nút Tạo để tiếp tục.

Thẩm định

Quá trình triển khai tạo tài khoản Azure cosmos DB sẽ bắt đầu xử lý sau khi bạn nhấp vào nút tạo như hình trên. Bạn sẽ nhận được màn hình bên dưới khi việc triển khai sẽ hoàn tất. Nhấp vào Chuyển đến tab tài nguyên chuyển đến tài khoản Cơ sở dữ liệu cosmos.

tài khoản cosmos db đã được tạo

Hãy tiếp tục và kết nối với tài khoản Cơ sở dữ liệu vũ trụ này bằng cách sử dụng trình khám phá bộ nhớ Azure trong phần tiếp theo.

Kết nối với tài khoản Azure Cosmos DB bằng trình khám phá bộ nhớ Azure

Có 2 cách để kết nối với tài khoản Azure Cosmos DB bằng trình khám phá bộ nhớ. Một là sử dụng tài khoản Azure mà thông qua đó chúng tôi đã kết nối và mở rộng tài khoản Cosmos DB trong phần đầu tiên, một cách khác là kết nối trực tiếp với tài khoản cosmos DB mà không cần kết nối với tài khoản Azure. Hãy để tôi chỉ cho bạn tùy chọn đầu tiên trong hình ảnh dưới đây. Bên dưới màn hình là bản sao của hình ảnh thứ 3 hiển thị ở trên, nơi chúng tôi đã kết nối với tài khoản Azure nhưng không có tài khoản cosmos DB. Bây giờ chúng ta sẽ nhấp vào liên kết Làm mới Tất cả được đánh dấu trong hình dưới đây. Sau khi bạn làm mới nó, tài khoản cosmos DB mới được tạo sẽ bắt đầu xuất hiện dưới phần của nó của hình ảnh bên dưới.

Kết nối với tài khoản Azure bằng trình khám phá bộ nhớ

Tùy chọn thứ hai là kết nối trực tiếp với tài khoản Azure Cosmos DB mà không cần kết nối với toàn bộ tài khoản Azure. Bạn cần KẾT NỐI CHÍNH STRING của tài khoản Azure cosmos DB mới tạo hoặc bất kỳ tài khoản cosmos DB nào hiện có mà bạn muốn kết nối với trình khám phá bộ nhớ. Bạn cần truy cập tab Phím được cung cấp trong Cài đặt của tài khoản cosmos DB để lấy chuỗi kết nối chính thông qua cổng Azure.

Hình ảnh dưới đây hiển thị chi tiết tab phím để hiển thị tất cả các chuỗi kết nối. Nhấp vào biểu tượng sao chép được đưa ra trong hình chữ nhật màu đỏ sẫm ở ngăn bên tay phải.

Nhận chuỗi kết nối chính của tài khoản cosmos db

Bây giờ, quay lại trình khám phá bộ nhớ Azure và xóa tất cả các tài khoản Azure được kết nối như thể hiện trong hình dưới đây, nơi chúng ta có thể thấy không có tài khoản Azure nào được kết nối. Bây giờ, hãy nhấp vào Mở Explorer để có chế độ xem trình khám phá.

Xóa tất cả tài khoản Azure khỏi trình khám phá bộ nhớ

Tại đây, bạn có thể thấy tùy chọn Cosmos DB Accounts như trong hình bên dưới. Nhấp chuột phải vào tùy chọn này và nhấp vào Connect to Cosmos DB… để đến cửa sổ nơi chúng tôi sẽ nhập chuỗi kết nối chính cho tài khoản cosmos DB mới tạo của chúng tôi để thiết lập kết nối bằng trình khám phá bộ nhớ.

Kết nối với tài khoản db cosmos bằng trình khám phá bộ nhớ Azure

Màn hình bên dưới sẽ xuất hiện để nhập chuỗi kết nối. Chuỗi kết nối chính sẽ được nhập vào hộp nhập Chuỗi kết nối .

Nhập lỗi kết nối

Nhập chuỗi kết nối đã sao chép từ bước trên vào hộp chuỗi kết nối, Nhãn tài khoản sẽ tự động được nhận dạng và hiển thị khi bạn nhập chuỗi kết nối đã sao chép. Bạn có thể thấy nó trong hình ảnh bên dưới, tôi không nhập nhãn Tài khoản, nó đã được điền vào bài viết nhập chuỗi kết nối. Bây giờ, nhấp vào nút Tiếp theo của hình ảnh bên dưới.

Nhập chuỗi kết nối của tài khoản cosmos db

Màn hình Tóm tắt sẽ xuất hiện để xác thực các chi tiết kết nối và nếu tất cả đều ổn thì hãy nhấn vào nút Kết nối ở phía dưới cùng của hình ảnh bên dưới.

Xác minh chuỗi kết nối trong khi kết nối với tài khoản cosmos db

Bây giờ, chúng ta có thể thấy tài khoản cosmos DB mới được tạo của mình cosmosdb19oct2021 trong trình khám phá bộ nhớ Azure. Nếu nó không hiển thị với bạn thì hãy nhấp vào liên kết Làm mới Tất cả được hiển thị trong hình ảnh bên dưới.

Kết nối với tài khoản db cosmos bằng trình khám phá bộ nhớ Azure

Chúng tôi đã kết nối thành công với tài khoản Azure Cosmos DB bằng trình khám phá bộ nhớ Azure trong hình trên. Bây giờ, tôi sẽ chỉ cho bạn các hoạt động cấp cơ sở dữ liệu khác nhau mà chúng ta có thể thực hiện đối với tài khoản cơ sở dữ liệu cosmos bằng cách sử dụng trình khám phá lưu trữ.

Tạo cơ sở dữ liệu Cosmos bằng trình khám phá bộ nhớ

Chúng tôi đã tạo tài khoản cosmos DB và kết nối nó với trình khám phá bộ nhớ. Bây giờ, hãy khám phá tất cả các tùy chọn mà chúng tôi có thể thực hiện trên tài khoản cosmos DB này bằng cách sử dụng trình khám phá bộ nhớ Azure. Nhấp chuột phải vào tài khoản cơ sở dữ liệu được kết nối để nhận danh sách các hoạt động chúng tôi có thể thực hiện ở cấp tài khoản cosmos DB và danh sách các hoạt động đó có thể được nhìn thấy trong hình ảnh bên dưới.

Danh sách các tùy chọn mà chúng tôi có thể thực hiện ở cấp tài khoản cosmos db

Hãy để tôi chỉ cho bạn cách tạo cơ sở dữ liệu trong tài khoản cosmos DB này. Nhấp vào tùy chọn Tạo cơ sở dữ liệu từ hình trên, bạn sẽ nhận được hộp văn bản bên dưới để nhập tên của cơ sở dữ liệu.

Tạo cơ sở dữ liệu mới

Nhập tên của cơ sở dữ liệu và nhấn enter để tạo. Bạn có thể thấy cơ sở dữ liệu mdscosmosDB đã được tạo trong tài khoản cosmos DB cosmosdb19oct2021 .

Cơ sở dữ liệu mới

Chúng tôi đã tạo cơ sở dữ liệu trong tài khoản cosmos DB trong phần này. Bây giờ, chúng ta sẽ thực hiện các hoạt động cấp cơ sở dữ liệu trong phần tiếp theo.

Tạo Bộ sưu tập trong cơ sở dữ liệu Azure Cosmos bằng trình khám phá bộ nhớ Azure

Tôi giả sử bạn đã có một tài khoản cosmos DB và một cơ sở dữ liệu. Bạn đã kết nối với tài khoản cosmos DB bằng trình khám phá bộ nhớ như được hiển thị trong hình ảnh bên dưới. Bây giờ, chúng ta sẽ khám phá tất cả các hoạt động có thể được thực hiện cho cơ sở dữ liệu được tạo trong tài khoản cosmos DB.

Mở rộng tên tài khoản cosmos DB được kết nối và nhấp chuột phải vào tên cơ sở dữ liệu hiển thị trong cây tài khoản cosmos DB. Bạn có thể xem danh sách các hoạt động mà chúng tôi có thể thực hiện đối với cơ sở dữ liệu này bằng cách sử dụng trình khám phá bộ nhớ.

Danh sách các hoạt động có thể được thực hiện ở cấp độ cơ sở dữ liệu

Hãy để tôi chỉ cho bạn cách tạo một bộ sưu tập trong cơ sở dữ liệu này. Nhấp vào tùy chọn Tạo Bộ sưu tập… hiển thị trong hình trên. Bạn sẽ đến bên dưới cửa sổ để nhập ID bộ sưu tập và xác định dung lượng lưu trữ cho bộ sưu tập.

Tạo bộ sưu tập mới

Nhập các chi tiết cần thiết để tiến hành tạo bộ sưu tập. Tôi đã nhập chúng như thể hiện trong hình ảnh bên dưới và nhấp vào nút Ok .

Tạo bộ sưu tập mới

Bạn có thể thấy bộ sưu tập được tạo trong cơ sở dữ liệu trong hình ảnh bên dưới. Danh sách các đối tượng được hiển thị dưới cây thu thập, như tài liệu, thủ tục được lưu trữ, trình kích hoạt, chức năng do người dùng xác định.

Bộ sưu tập mới

Bạn có thể tiếp tục và thử nghiệm các hoạt động khác mà chúng tôi có thể thực hiện ở cấp cơ sở dữ liệu. Nếu bạn muốn xóa cơ sở dữ liệu này thì bạn có thể chọn tùy chọn này từ danh sách xuất hiện sau khi nhấp chuột phải vào tên cơ sở dữ liệu. Đảm bảo rằng bạn có một bản sao lưu dự phòng trong trường hợp bạn cần dữ liệu này trong tương lai.

Thêm tài liệu mới vào bộ sưu tập Cơ sở dữ liệu vũ trụ bằng cách sử dụng trình khám phá bộ nhớ Azure

Bây giờ, bạn có thể tiếp tục và thêm tài liệu vào bộ sưu tập đã tạo ở trên. Nhấp vào tùy chọn Tài liệu hiển thị trong ngăn bên trái của hình ảnh bên dưới trong bộ sưu tập mới được tạo. Bạn sẽ nhận được trình khám phá chi tiết tài liệu trong ngăn bên phải. Nhấp vào tùy chọn Tài liệu Mới được hiển thị ở đầu hình ảnh.

Nhấp vào tùy chọn Tài liệu mới

Màn hình bên dưới với mẫu định dạng JSON sẽ đến để tạo tài liệu. Tại đây, bạn có thể nhập số ID và các trường khác và chi tiết của chúng mà bạn muốn thêm vào tài liệu này và nhấn nút Lưu để lưu tài liệu này.

Mở cửa sổ tài liệu mới

Tôi đã tạo một tài liệu với chi tiết trường JSON bên dưới và nhấp vào nút lưu để lưu trữ nó. Nếu bạn nhấp vào nút Lưu , một vài trường do hệ thống tạo sẽ được tự động thêm vào JSON bên dưới.

Tạo tài liệu bằng JSON

Hãy xem hình ảnh bên dưới, ở đây tôi đã thêm cho đến trường Thẻ , nhưng trường còn lại là bài đăng được thêm vào, nhấp vào nút Lưu .

Lưu tài liệu mới tạo

Tương tự, bạn có thể tạo nhiều tài liệu bằng cách nhấp vào tùy chọn New Document và sau khi bạn lưu chúng, nó sẽ giống như hình dưới đây.

Tạo một tài liệu mới

Nếu bạn muốn xóa bất kỳ tài liệu nào thì bạn có thể chọn ID tài liệu tương ứng từ cột ID và nhấn nút Xóa được đưa ra trong thanh ribbon.

Xóa tài liệu

Thực hiện các hoạt động DB vũ trụ khác bằng cách sử dụng trình khám phá bộ nhớ Azure

Chúng tôi cũng có thể thực hiện các hoạt động khác như chúng tôi có thể tạo một thủ tục được lưu trữ mới bằng cách nhấp chuột phải vào tùy chọn này và chọn Tạo thủ tục đã lưu trữ…

Tạo một thủ tục được lưu trữ

Khi bạn nhấp vào tùy chọn trên, nó sẽ yêu cầu bạn nhập tên của nó và khi bạn nhấn enter bên dưới, màn hình sẽ xuất hiện một quy trình mẫu được lưu trữ trong ngăn bên phải của tên quy trình được lưu trữ.

Tạo một thủ tục được lưu trữ

Sự kết luận

Azure storage explorer là một ứng dụng máy tính để bàn rất hữu ích để quản lý lưu trữ Azure và các dịch vụ khác liên quan đến đám mây Azure như cosmos DB và các dịch vụ hồ dữ liệu. Hôm nay tôi đã khám phá cách kết nối với tài khoản Azure Cosmos DB bằng trình khám phá bộ nhớ Azure và thực hiện các hoạt động khác nhau trên tài khoản cosmos DB và các đối tượng của nó bằng trình khám phá bộ nhớ mà không cần truy cập cổng Azure. Bạn cũng đã học cách tạo tài khoản cosmos DB trong bài viết này.

Liên kết: https://www.sqlshack.com/managing-cosmos-db-using-azure-storage-explorer/

#azure #cosmosdb #database

Cách Quản Lý Cosmos DB Bằng Azure Storage Explorer

Как управлять Cosmos DB с помощью Azure Storage Explorer

В этой статье объясняется, как выполнять различные действия для Azure Cosmos DB с помощью обозревателя хранилища Azure. Обозреватель хранилища — это очень полезная настольная утилита, которая помогает администраторам управлять хранилищем Azure без доступа к порталу Azure. Мы также можем подключаться к учетным записям Azure Cosmos DB с помощью этого инструмента, но в будущем эта функция станет устаревшей. На данный момент он поддерживается, поэтому я решил изучить его для деятельности Cosmos DB.

Azure Cosmos DB — это полностью управляемая служба базы данных NoSQL в облаке Azure, распределенная по всему миру и подходящая для разработки современных приложений. Это более быстрая, легко масштабируемая, высокодоступная и безопасная служба базы данных.

Выполнение различных действий Cosmos DB с помощью обозревателя хранилища Azure.

В этом разделе я покажу вам различные действия с Cosmos DB с помощью проводника хранилища. Позвольте мне начать с подключения к учетной записи Azure, чтобы увидеть учетные записи Cosmos DB, если они уже созданы в вашей учетной записи Azure.

Подключитесь к учетной записи Azure с помощью обозревателя хранилища Azure.

Запустите обозреватель хранилища Azure на рабочем столе. Нажмите на вкладку « Вид », чтобы отобразить список параметров. Выберите «Управление учетной записью» , чтобы выбрать свою учетную запись Azure.

Подключитесь к учетной записи Azure с помощью обозревателя хранилища

Экран ниже появится после того, как вы нажмете « Управление учетной записью » на экране выше. Я выбрал желаемую подписку на изображении ниже, установив соответствующий флажок. Теперь щелкните вкладку « Открыть проводник », где под флажком учетной записи Azure установлен флажок.

Подключитесь к учетной записи Azure с помощью обозревателя хранилища

Вы можете видеть, что подписка отображается в проводнике ниже. Разверните параметр «Учетные записи Cosmos DB », показывающий недостаточно подключенную подписку. У нас нет учетной записи Cosmos DB в рамках этой подписки, поэтому в этой опции не отображаются никакие подробности. Поддержка учетных записей Cosmos DB с использованием обозревателя хранилища Azure будет прекращена в будущих версиях, поэтому вы можете видеть, что помимо параметра учетных записей Cosmos DB отображается устаревшее.

Подключитесь к учетной записи Azure с помощью обозревателя хранилища

В этом разделе я показал вам, как подключиться к учетной записи Azure, чтобы увидеть подключенные учетные записи Cosmos DB в обозревателе хранилища Azure. Далее давайте создадим учетную запись Cosmos DB на портале Azure и подключим ее к обозревателю хранилища для выполнения различных действий.

Создание учетной записи Azure Cosmos DB

Войдите на портал Azure. Введите Azure Cosmos DB в строке поиска, чтобы отобразить эту службу. Приведенная ниже страница отобразится, как только вы нажмете на опцию Cosmos DB. Все учетные записи Cosmos DB будут отображаться на этой странице. Поскольку мы еще не подготовили базу данных Cosmos, поэтому на изображении ниже не показаны какие-либо подробности. Давайте продолжим и сначала создадим учетную запись Cosmos DB.

Щелкните параметр + Создать под заголовком Azure Cosmos DB или щелкните вкладку Создать учетную запись Azure Cosmos DB в центре изображения ниже.

Страница базы данных Azure Cosmos

На следующем экране появится выбор API в соответствии с нашей рабочей нагрузкой. Я выбрал рекомендуемое API Core (SQL) из изображения ниже и нажал кнопку « Создать », указанную для этой опции.

Выберите желаемый API для учетной записи Cosmos DB

Ниже появится экран под названием «Создать учетную запись Azure Cosmos DB — Core (SQL) » для заполнения всех необходимых сведений для создания учетной записи Cosmos DB. Если вы выберете API, отличный от Core SQL, вы получите аналогичную форму для этого API для создания учетной записи Cosmos DB.

Поскольку мне нужно продемонстрировать это в проводнике хранилища, я оставил все настройки по умолчанию такими, какие они есть.

Создание учетной записи Azure Cosmos DB

После того, как вы ввели все данные на всех вкладках, показанных на изображении выше, нажмите кнопку « Проверить + создать» , чтобы начать процесс проверки. Вы можете видеть, что проверка прошла успешно на изображении ниже. Теперь нажмите кнопку « Создать » , чтобы продолжить.

Проверка

Развертывание создания учетной записи Azure Cosmos DB начнется после того, как вы нажмете кнопку создания на изображении выше. После завершения развертывания вы увидите показанный ниже экран. Нажмите на вкладку «Перейти к ресурсу », чтобы перейти к учетной записи Cosmos DB.

Создана учетная запись в базе данных Cosmos.

Давайте продолжим и подключимся к этой учетной записи Cosmos DB с помощью обозревателя хранилища Azure в следующем разделе.

Подключитесь к учетной записи Azure Cosmos DB с помощью обозревателя хранилища Azure.

Существует 2 способа подключения к учетной записи Azure Cosmos DB с помощью обозревателя хранилища. Один из них использует учетную запись Azure, с помощью которой мы подключили и расширили учетную запись Cosmos DB в первом разделе, другой способ — напрямую подключиться к учетной записи Cosmos DB без подключения к учетной записи Azure. Позвольте мне показать вам первый вариант на изображении ниже. Ниже экрана находится реплика третьего изображения, показывающего выше, где мы подключились к учетной записи Azure, но не было учетной записи Cosmos DB. Теперь мы нажмем ссылку « Обновить все » , выделенную на изображении ниже. Как только вы обновите его, вновь созданная учетная запись Cosmos DB начнет появляться в соответствующем разделе на изображении ниже.

Подключитесь к учетной записи Azure с помощью обозревателя хранилища

Второй вариант — напрямую подключиться к учетной записи Azure Cosmos DB, не подключаясь ко всей учетной записи Azure. Вам потребуется ОСНОВНАЯ СТРОКА ПОДКЛЮЧЕНИЯ вновь созданной учетной записи Azure Cosmos DB или любой существующей учетной записи Cosmos DB, которую вы хотите подключить к обозревателю хранилища. Вам необходимо открыть вкладку « Ключи », указанную в разделе « Настройки учетной записи Cosmos DB», чтобы получить основную строку подключения через портал Azure.

На изображении ниже показаны сведения о вкладке ключей для отображения всех строк подключения. Щелкните значок копирования, указанный в темно-красном прямоугольнике на правой боковой панели.

Получить основную строку подключения учетной записи Cosmos db

Теперь вернитесь в обозреватель хранилища Azure и удалите все подключенные учетные записи Azure, как показано на изображении ниже, где мы видим, что ни одна учетная запись Azure не подключена. Теперь нажмите « Открыть проводник » , чтобы открыть вид проводника.

Удалите все учетные записи Azure из обозревателя хранилища.

Здесь вы можете увидеть параметр «Учетные записи Cosmos DB», как показано на изображении ниже. Щелкните правой кнопкой мыши этот параметр и выберите «Подключиться к Cosmos DB…», чтобы открыть окно, в котором мы будем вводить основную строку подключения для нашей недавно созданной учетной записи Cosmos DB, чтобы установить соединение с помощью проводника хранилища.

Подключитесь к учетной записи Cosmos DB с помощью обозревателя хранилища Azure.

Появится показанный ниже экран для ввода строки подключения. Основная строка подключения будет введена в поле ввода Строка подключения .

Введите строки подключения

Введите скопированную строку подключения из предыдущего шага в поле строки подключения . Метка учетной записи будет автоматически распознана и отображена после ввода скопированной строки подключения. Вы можете видеть это на изображении ниже, я не ввел метку учетной записи, она уже заполнена после ввода строки подключения. Теперь нажмите кнопку « Далее » на изображении ниже.

Введите строки подключения учетной записи Cosmos db.

Появится экран « Сводка » для проверки сведений о подключении, и, если все выглядит нормально, нажмите кнопку « Подключиться », указанную в нижней части изображения ниже.

Проверьте строку подключения при подключении к учетной записи Cosmos db

Теперь мы можем увидеть нашу недавно созданную учетную запись Cosmos DB Cosmosdb19oct2021 в обозревателе хранилища Azure. Если он вам не виден, нажмите ссылку « Обновить все » , показанную на изображении ниже.

Подключитесь к учетной записи Cosmos DB с помощью обозревателя хранилища Azure.

Мы успешно подключились к учетной записи Azure Cosmos DB с помощью обозревателя хранилища Azure на изображении выше. Теперь я покажу вам различные действия на уровне базы данных, которые мы можем выполнять с учетной записью Cosmos DB с помощью проводника хранилища.

Создайте базу данных Cosmos с помощью обозревателя хранилища.

Мы создали учетную запись Cosmos DB и подключили ее к проводнику хранилища. Теперь давайте рассмотрим все варианты, которые мы можем выполнить с этой учетной записью Cosmos DB с помощью обозревателя хранилища Azure. Щелкните правой кнопкой мыши подключенную учетную запись базы данных, чтобы получить список действий, которые мы можем выполнять на уровне учетной записи Cosmos DB, и список таких действий можно увидеть на изображении ниже.

Список опций, которые мы можем выполнять на уровне учетной записи Cosmos db

Позвольте мне показать вам, как создать базу данных в этой учетной записи Cosmos DB. Нажмите на опцию « Создать базу данных » на изображении выше, вы получите текстовое поле ниже, чтобы ввести имя базы данных.

Создать новую базу данных

Введите имя базы данных и нажмите Enter, чтобы создать ее. Вы можете видеть, что база данных mdscosmosDB была создана под учетной записью Cosmos DB Cosmosdb19oct2021 .

Новая база данных

В этом разделе мы создали базу данных в учетной записи Cosmos DB. Теперь мы выполним действия на уровне базы данных в следующем разделе.

Создание коллекций в базе данных Azure Cosmos с помощью обозревателя хранилища Azure.

Я предполагаю, что у вас уже есть учетная запись Cosmos DB и база данных. Вы подключились к учетной записи Cosmos DB с помощью обозревателя хранилища, как показано на рисунке ниже. Теперь мы рассмотрим все действия, которые можно выполнить для базы данных, созданной в учетной записи Cosmos DB.

Разверните имя подключенной учетной записи Cosmos DB и щелкните правой кнопкой мыши имя базы данных, отображаемое в дереве учетной записи Cosmos DB. Вы можете увидеть список действий, которые мы можем выполнить с этой базой данных с помощью обозревателя хранилища.

Список действий, которые можно выполнять на уровне базы данных

Позвольте мне показать вам, как создать коллекцию в этой базе данных. Нажмите « Создать коллекцию… », показанную на изображении выше. Вы окажетесь ниже окна, чтобы ввести идентификатор коллекции и определить емкость хранилища для коллекции.

Создать новую коллекцию

Введите данные, необходимые для продолжения создания коллекции. Я ввел их, как показано на изображении ниже, и нажал кнопку « ОК » .

Создать новую коллекцию

Вы можете видеть, что коллекция создается в базе данных на изображении ниже. Под деревом коллекции отображается список объектов, таких как документы, хранимые процедуры, триггеры, пользовательские функции.

Новая коллекция

Вы можете продолжить и протестировать другие действия, которые мы можем выполнять на уровне базы данных. Если вы хотите удалить эту базу данных, вы можете выбрать эту опцию из списка, который появился после щелчка правой кнопкой мыши на имени базы данных. Убедитесь, что у вас есть резервная копия на случай, если вам понадобятся эти данные в будущем.

Добавьте новый документ в коллекцию Cosmos DB с помощью обозревателя хранилища Azure.

Теперь вы можете добавить документ в созданную выше коллекцию. Щелкните параметр «Документы», отображаемый на левой боковой панели изображения ниже под только что созданной коллекцией. Вы получите проводник сведений о документе на правой панели. Нажмите на опцию «Новый документ», показанную в верхней части изображения.

Нажмите на опцию «Новый документ».

Ниже появится экран с шаблоном формата JSON для создания документа. Здесь вы можете ввести идентификационный номер и другие поля и их данные, которые вы хотите добавить в этот документ, и нажать кнопку « Сохранить », чтобы сохранить этот документ.

Открыть окно нового документа

Я создал документ с данными поля JSON ниже и нажал кнопку «Сохранить», чтобы сохранить его. Если вы нажмете кнопку « Сохранить », несколько сгенерированных системой полей будут автоматически добавлены в приведенный ниже JSON.

Создайте документ с помощью JSON

Взгляните на изображение ниже, здесь я добавил поле « Теги », но оставшееся поле добавляется после нажатия кнопки « Сохранить ».

Сохраните только что созданный документ

Точно так же вы можете создать несколько документов, щелкнув параметр « Новый документ », и после их сохранения он будет выглядеть так, как показано на рисунке ниже.

Создать новый документ

Если вы хотите удалить какой-либо документ, вы можете выбрать соответствующий идентификатор документа в столбце идентификатора и нажать кнопку « Удалить » , указанную на панели ленты.

Удалить документ

Выполнение других действий Cosmos DB с помощью обозревателя хранилища Azure.

Мы также можем выполнять другие действия, например, мы можем создать новую хранимую процедуру, щелкнув правой кнопкой мыши эту опцию и выбрав « Создать хранимую процедуру»…

Создать хранимую процедуру

После того, как вы нажмете на указанную выше опцию, вам будет предложено ввести ее имя, и как только вы нажмете ввод, на экране ниже появится пример хранимой процедуры на правой боковой панели имени хранимой процедуры.

Создать хранимую процедуру

Вывод

Обозреватель хранилища Azure — очень полезное настольное приложение для управления хранилищем Azure и другими облачными службами Azure, такими как Cosmos DB и службы озера данных. Сегодня я изучил, как подключиться к учетной записи Azure Cosmos DB с помощью обозревателя хранилища Azure и выполнять различные действия с учетной записью Cosmos DB и ее объектами с помощью обозревателя хранилища, не переходя на портал Azure. В этой статье вы также узнали, как создать учетную запись Cosmos DB.

Ссылка: https://www.sqlshack.com/managing-cosmos-db-using-azure-storage-explorer/

#azure #cosmosdb #database

Как управлять Cosmos DB с помощью Azure Storage Explorer
山田  千代

山田 千代

1659512425

如何使用 Azure 存儲資源管理器管理 Cosmos DB

本文將介紹如何使用 Azure 存儲資源管理器為 Azure cosmos DB 執行各種活動。存儲資源管理器是一個非常有用的桌面實用程序,可幫助管理員在不訪問 Azure 門戶的情況下管理 Azure 存儲。我們還可以使用此工具連接到 Azure Cosmos DB 帳戶,但將來會棄用此功能。到目前為止,它已受支持,因此我決定在 cosmos DB 活動中探索它。

Azure Cosmos DB 是 Azure 雲中完全託管的 NoSQL 數據庫服務,分佈於全球,適合現代應用程序開發。它是一種速度更快、易於擴展、高度可用且安全的數據庫服務。

使用 Azure 存儲資源管理器執行各種 Cosmos DB 活動

在本節中,我將向您展示使用存儲資源管理器的各種 cosmos DB 活動。讓我先連接到 Azure 帳戶以查看 cosmos DB 帳戶(如果它們已在您的 Azure 帳戶上創建)。

使用 Azure 存儲資源管理器連接到 Azure 帳戶

在桌面上啟動 Azure 存儲資源管理器。單擊查看選項卡以顯示選項列表。選擇帳戶管理以選擇您的 Azure 帳戶。

使用存儲資源管理器連接到 Azure 帳戶

一旦您點擊上面屏幕上的賬戶管理,就會出現下面的屏幕。我已通過單擊各自的複選框從下圖中選擇了我想要的訂閱。現在,單擊顯示在 Azure 帳戶複選框下方的“打開資源管理器”選項卡。

使用存儲資源管理器連接到 Azure 帳戶

您可以看到訂閱顯示在下面的資源管理器中。展開Cosmos DB 帳戶選項,顯示連接不足的訂閱。我們在此訂閱下沒有任何 cosmos DB 帳戶,因此它不會在此選項下顯示任何詳細信息。使用 Azure 存儲資源管理器對 cosmos DB 帳戶的支持將在未來的版本中被棄用,這就是為什麼你可以看到除了 cosmos DB 帳戶選項之外還顯示 deprecated 的原因。

使用存儲資源管理器連接到 Azure 帳戶

在本節中,我向您展示瞭如何連接到 Azure 帳戶以在 Azure 存儲資源管理器中查看已連接的 Cosmos DB 帳戶。接下來,讓我們在 Azure 門戶上創建一個 cosmos DB 帳戶並將其連接到存儲資源管理器以執行各種活動。

創建 Azure Cosmos DB 帳戶

登錄到 Azure 門戶。在搜索欄中鍵入Azure Cosmos DB以顯示此服務。單擊 cosmos DB 選項後,將顯示以下頁面。所有 cosmos DB 帳戶都將顯示在此頁面上。由於我們尚未配置 cosmos DB,因此下圖中未顯示任何詳細信息。讓我們先創建一個 cosmos DB 帳戶。

單擊Azure Cosmos DB 標題下方給出的+ 創建選項,或單擊下圖中心給出的創建 Azure Cosmos DB 帳戶選項卡。

Azure Cosmos DB 頁面

下一個屏幕將根據我們的工作負載選擇 API。我從下圖中選擇了推薦的 API Core (SQL),並點擊了為此選項提供的創建按鈕。

為 cosmos db 帳戶選擇所需的 API

在名為Create Azure Cosmos DB Account -Core (SQL)的屏幕下方將顯示創建 Cosmos DB 帳戶所需的所有詳細信息。如果您選擇與 Core SQL 不同的 API,那麼您將獲得該 API 的類似表單以創建 Cosmos DB 帳戶。

因為我必須在存儲資源管理器中演示它,所以我保留了所有默認設置。

創建 Azure cosmos DB 帳戶

在上圖中顯示的所有選項卡上輸入所有詳細信息後,然後點擊Review + create按鈕開始驗證過程。您可以在下圖中看到驗證成功。現在單擊創建按鈕繼續。

驗證

單擊上圖的創建按鈕後,將開始處理 Azure cosmos DB 帳戶創建的部署。部署完成後,您將看到以下屏幕。單擊轉到資源選項卡跳轉到 cosmos DB 帳戶。

已創建 cosmos db 帳戶

讓我們繼續在下一節中使用 Azure 存儲資源管理器連接到此 cosmos DB 帳戶。

使用 Azure 存儲資源管理器連接到 Azure Cosmos DB 帳戶

有兩種方法可以使用存儲資源管理器連接到 Azure Cosmos DB 帳戶。一種是使用 Azure 賬戶,我們在第一節中已經通過它連接和擴展了 Cosmos DB 賬戶,另一種方式是直接連接到 cosmos DB 賬戶,而不連接到 Azure 賬戶。讓我向您展示下圖中的第一個選項。屏幕下方是上面顯示的第三張圖片的副本,我們已連接到 Azure 帳戶,但沒有 cosmos DB 帳戶。現在我們將單擊下圖中突出顯示的全部刷新鏈接。刷新後,新創建的 cosmos DB 帳戶將開始出現在下圖中的其部分下方。

使用存儲資源管理器連接到 Azure 帳戶

第二種選擇是直接連接到 Azure Cosmos DB 帳戶,而不連接到整個 Azure 帳戶。您需要新創建的 Azure cosmos DB 帳戶或要連接到存儲資源管理器的任何現有 cosmos DB 帳戶的PRIMARY CONNECTION STRING 。您需要訪問cosmos DB 帳戶設置下提供的“密鑰”選項卡,以通過 Azure 門戶獲取主連接字符串。

下圖顯示了選項卡詳細信息以顯示所有連接字符串。單擊右側窗格中深紅色矩形中給出的複製圖標。

獲取cosmos db賬號的主連接字符串

現在,回到 Azure 存儲資源管理器並刪除所有連接的 Azure 帳戶,如下圖所示,我們可以看到沒有連接任何 Azure 帳戶。現在,單擊打開資源管理器以獲取資源管理器視圖。

從存儲資源管理器中刪除所有 Azure 帳戶

在這裡,您可以看到 Cosmos DB 帳戶選項,如下圖所示。右鍵單擊此選項並單擊 Connect to Cosmos DB... 以獲取窗口,我們將在其中輸入新創建的 cosmos DB 帳戶的主要連接字符串,以使用存儲資源管理器建立連接。

使用 Azure 存儲資源管理器連接到 cosmos db 帳戶

將出現以下屏幕以輸入連接字符串。主連接字符串將在連接字符串輸入框中輸入。

輸入連接字符串

在連接字符串框中輸入上一步複製的連接字符串,輸入複製的連接字符串後,將自動識別並顯示帳戶標籤。您可以在下圖中看到它,我沒有輸入 Account 標籤,它已經填寫了輸入連接字符串的帖子。現在,單擊下圖的下一步按鈕。

輸入 cosmos db 賬戶的連接字符串

將出現一個摘要屏幕以驗證連接詳細信息,如果一切正常,則點擊下圖底部給出的連接按鈕。

在連接到 cosmos db 帳戶時驗證連接字符串

現在,我們可以在 Azure 存儲資源管理器中看到我們新創建的 cosmos DB 帳戶cosmosdb19oct2021。如果您看不到它,請單擊下圖中顯示的全部刷新鏈接。

使用 Azure 存儲資源管理器連接到 cosmos db 帳戶

在上圖中,我們已使用 Azure 存儲資源管理器成功連接到 Azure Cosmos DB 帳戶。現在,我將向您展示我們可以使用存儲資源管理器對 cosmos DB 帳戶執行的各種數據庫級活動。

使用存儲資源管理器創建 Cosmos 數據庫

我們創建了一個 cosmos DB 帳戶並將其連接到存儲資源管理器。現在,讓我們探索我們可以使用 Azure 存儲資源管理器在此 cosmos DB 帳戶上執行的所有選項。右鍵單擊已連接的數據庫帳戶以獲取我們可以在 cosmos DB 帳戶級別執行的活動列表,此類活動的列表如下圖所示。

我們可以在 cosmos db 帳戶級別執行的選項列表

讓我向您展示如何在這個 cosmos DB 帳戶中創建數據庫。單擊上圖中的創建數據庫選項,您將看到下面的文本框以輸入數據庫的名稱。

創建新數據庫

輸入數據庫的名稱,然後按回車鍵創建它。您可以看到數據庫mdscosmosDB已在 cosmos DB 帳戶cosmosdb19oct2021下創建。

新數據庫

在本節中,我們在 cosmos DB 帳戶中創建了一個數據庫。現在,我們將在下一節中執行數據庫級別的活動。

使用 Azure 存儲資源管理器在 Azure Cosmos 數據庫中創建集合

我假設您已經有一個 cosmos DB 帳戶和一個數據庫。您已使用存儲資源管理器連接到 cosmos DB 帳戶,如下圖所示。現在,我們將探索可以為在 cosmos DB 帳戶中創建的數據庫執行的所有活動。

展開已連接的 cosmos DB 帳戶名稱,然後右鍵單擊 cosmos DB 帳戶樹中顯示的數據庫名稱。您可以使用存儲資源管理器查看我們可以對此數據庫執行的活動列表。

可以在數據庫級別執行的活動列表

讓我向您展示如何在這個數據庫中創建一個集合。單擊上圖中顯示的創建集合...選項。您將在窗口下方輸入集合 ID 並定義集合的存儲容量。

創建新集合

輸入繼續創建集合所需的詳細信息。我已輸入它們,如下圖所示,然後單擊“確定”按鈕。

創建新集合

您可以在下圖中看到該集合是在數據庫中創建的。對象列表顯示在集合樹下,如文檔、存儲過程、觸發器、用戶定義的函數。

新系列

您可以繼續測試我們可以在數據庫級別執行的其他活動。如果要刪除此數據庫,則可以從右鍵單擊數據庫名稱後出現的列表中選擇此選項。確保您有一個備份,以防您將來需要這些數據。

使用 Azure 存儲資源管理器將新文檔添加到 cosmos DB 集合

現在,您可以繼續將文檔添加到上面創建的集合中。單擊新創建的集合下下圖左側窗格中顯示的“文檔”選項。您將在右側窗格中獲得文檔詳細信息資源管理器。單擊圖像頂部顯示的“新建文檔”選項。

單擊新建文檔選項

下面帶有 JSON 格式模板的屏幕將創建一個文檔。在這裡,您可以輸入要添加到此文檔的 ID 號和其他字段及其詳細信息,然後單擊“保存”按鈕以保存此文檔。

打開新文檔窗口

我創建了一個包含以下 JSON 字段詳細信息的文檔,然後單擊保存按鈕進行存儲。如果單擊“保存”按鈕,系統會自動將一些系統生成的字段添加到下面的 JSON 中。

使用 JSON 創建文檔

看看下面的圖片,這裡我已經添加到標籤字段,但剩餘的字段是在單擊保存按鈕後添加的。

保存新創建的文檔

同樣,您可以通過單擊“新建文檔”選項創建多個文檔,一旦保存它們,它將如下圖所示。

創建一個新文檔

如果要刪除任何文檔,則可以從 ID 列中選擇相應的文檔 ID,然後點擊功能區欄中的刪除按鈕。

刪除文檔

使用 Azure 存儲資源管理器執行其他 cosmos DB 活動

我們還可以執行其他活動,例如我們可以通過右鍵單擊此選項並選擇創建存儲過程來創建新的存儲過程...

創建存儲過程

一旦你點擊上面的選項,它會要求你輸入它的名字,一旦你按下回車鍵,下面的屏幕就會在存儲過程名稱的右側窗格中出現一個示例存儲過程。

創建存儲過程

結論

Azure 存儲資源管理器是一個非常有用的桌面應用程序,用於管理 Azure 存儲和其他 Azure 雲相關服務,如 cosmos DB 和數據湖服務。今天,我探索瞭如何使用 Azure 存儲資源管理器連接到 Azure Cosmos DB 帳戶,並使用存儲資源管理器對 cosmos DB 帳戶及其對象執行各種活動,而無需轉到 Azure 門戶。您還學習瞭如何在本文中創建 cosmos DB 帳戶。

鏈接:https ://www.sqlshack.com/managing-cosmos-db-using-azure-storage-explorer/

#azure #cosmosdb #database

如何使用 Azure 存儲資源管理器管理 Cosmos DB
Thierry  Perret

Thierry Perret

1659505200

Comment Gérer Cosmos DB à L'aide D'Azure Storage Explorer

Cet article explique comment effectuer diverses activités pour Azure cosmos DB à l'aide de l'explorateur de stockage Azure. L'explorateur de stockage est un utilitaire de bureau très utile qui aide les administrateurs à gérer le stockage Azure sans accéder au portail Azure. Nous pouvons également nous connecter aux comptes Azure Cosmos DB à l'aide de cet outil, mais cette fonctionnalité sera obsolète à l'avenir. À l'heure actuelle, il est pris en charge, j'ai donc décidé de l'explorer pour les activités de cosmos DB.

Azure Cosmos DB est un service de base de données NoSQL entièrement géré dans le cloud Azure, distribué dans le monde entier et adapté au développement d'applications modernes. Il s'agit d'un service de base de données plus rapide, facilement évolutif, hautement disponible et sécurisé.

Effectuer diverses activités Cosmos DB à l'aide de l'explorateur de stockage Azure

Je vais vous montrer les différentes activités de Cosmos DB à l'aide de l'explorateur de stockage dans cette section. Permettez-moi de commencer par me connecter à un compte Azure pour voir les comptes cosmos DB s'ils sont déjà créés sur votre compte Azure.

Connectez-vous au compte Azure à l'aide de l'explorateur de stockage Azure

Lancez Azure Storage Explorer sur votre bureau. Cliquez sur l' onglet Affichage pour afficher la liste des options. Choisissez Gestion des comptes pour sélectionner votre compte Azure.

Connectez-vous au compte Azure à l'aide de l'explorateur de stockage

L'écran ci-dessous apparaîtra une fois que vous aurez cliqué sur Gestion du compte sur l'écran ci-dessus. J'ai sélectionné l'abonnement souhaité dans l'image ci-dessous en cliquant sur leur case à cocher respective. Maintenant, cliquez sur l' onglet Ouvrir l'Explorateur affiché sous la case à cocher du compte Azure.

Connectez-vous au compte Azure à l'aide de l'explorateur de stockage

Vous pouvez voir que l'abonnement est affiché dans l'explorateur ci-dessous. Développez l'option Comptes Cosmos DB affichant l'abonnement sous-connecté. Nous n'avons aucun compte cosmos DB sous cet abonnement, il n'affiche donc aucun détail sous cette option. La prise en charge des comptes cosmos DB à l'aide de l'explorateur de stockage Azure sera obsolète dans les futures versions, c'est pourquoi vous pouvez voir que l'option obsolète s'affiche en plus de l'option des comptes cosmos DB.

Connectez-vous au compte Azure à l'aide de l'explorateur de stockage

Je vous ai montré comment vous connecter à un compte Azure pour voir les comptes Cosmos DB connectés dans l'explorateur de stockage Azure dans cette section. Ensuite, créons un compte cosmos DB sur le portail Azure et connectons-le à l'explorateur de stockage pour effectuer diverses activités.

Créer un compte Azure Cosmos DB

Connectez-vous au portail Azure. Tapez Azure Cosmos DB dans la barre de recherche pour afficher ce service. La page ci-dessous s'affichera une fois que vous aurez cliqué sur l'option cosmos DB. Tous les comptes cosmos DB s'afficheront sur cette page. Comme nous n'avons pas encore provisionné cosmos DB, il n'affiche aucun détail dans l'image ci-dessous. Allons-y et créons d'abord un compte cosmos DB.

Cliquez sur l'option + Créer indiquée juste en dessous de l'en-tête Azure Cosmos DB ou cliquez sur l'onglet Créer un compte Azure Cosmos DB indiqué au centre de l'image ci-dessous.

Page Azure Cosmos DB

L'écran suivant viendra choisir l'API en fonction de notre charge de travail. J'ai choisi l'API Core (SQL) recommandée dans l'image ci-dessous et j'ai cliqué sur le bouton Créer indiqué pour cette option.

Choisissez l'API souhaitée pour le compte cosmos db

L'écran ci-dessous nommé Créer un compte Azure Cosmos DB -Core (SQL) apparaîtra pour remplir tous les détails requis pour créer un compte Cosmos DB. Si vous choisissez une API différente de Core SQL, vous obtiendrez un formulaire similaire pour cette API afin de créer un compte Cosmos DB.

Comme je dois le démontrer dans l'explorateur de stockage, j'ai conservé tous les paramètres par défaut tels quels.

Créer un compte Azure cosmos DB

Une fois que vous avez entré tous les détails sur tous les onglets affichés dans l'image ci-dessus, cliquez sur le bouton Réviser + créer pour lancer le processus de validation. Vous pouvez voir que la validation est réussie dans l'image ci-dessous. Cliquez maintenant sur le bouton Créer pour continuer.

validation

Le déploiement de la création de compte Azure cosmos DB commencera le traitement une fois que vous aurez cliqué sur créer un bouton de l'image ci-dessus. Vous obtiendrez l'écran ci-dessous une fois le déploiement terminé. Cliquez sur l' onglet Aller à la ressource pour accéder au compte Cosmos DB.

compte cosmos db créé

Continuons et connectons-nous à ce compte cosmos DB à l'aide de l'explorateur de stockage Azure dans la section suivante.

Connectez-vous au compte Azure Cosmos DB à l'aide de l'explorateur de stockage Azure

Il existe 2 façons de se connecter à un compte Azure Cosmos DB à l'aide de l'explorateur de stockage. La première consiste à utiliser le compte Azure via lequel nous avons connecté et développé le compte Cosmos DB dans la première section, une autre méthode consiste à se connecter directement au compte Cosmos DB sans se connecter au compte Azure. Laissez-moi vous montrer la première option dans l'image ci-dessous. Sous l'écran se trouve la réplique de la 3ème image ci-dessus où nous nous sommes connectés au compte Azure mais il n'y avait pas de compte cosmos DB. Nous allons maintenant cliquer sur le lien Actualiser tout surligné dans l'image ci-dessous. Une fois que vous l'aurez actualisé, le compte cosmos DB nouvellement créé commencera à apparaître sous sa section de l'image ci-dessous.

Connectez-vous au compte Azure à l'aide de l'explorateur de stockage

La deuxième option consiste à se connecter directement au compte Azure Cosmos DB sans se connecter à l'ensemble du compte Azure. Vous avez besoin de la CHAÎNE DE CONNEXION PRIMAIRE du compte Azure cosmos DB nouvellement créé ou de tout compte cosmos DB existant que vous souhaitez connecter à l'explorateur de stockage. Vous devez accéder à l' onglet Clés indiqué sous Paramètres du compte cosmos DB pour obtenir la chaîne de connexion principale via le portail Azure.

L'image ci-dessous montre les détails de l'onglet des clés pour afficher toutes les chaînes de connexion. Cliquez sur l'icône de copie indiquée dans le rectangle rouge foncé dans le volet de droite.

Obtenir la chaîne de connexion principale du compte cosmos db

Maintenant, revenez à l'explorateur de stockage Azure et supprimez tous les comptes Azure connectés, comme indiqué dans l'image ci-dessous, où nous pouvons voir qu'aucun compte Azure n'est connecté. Maintenant, cliquez sur Ouvrir l'explorateur pour obtenir la vue de l'explorateur.

Supprimer tous les comptes Azure de l'explorateur de stockage

Ici, vous pouvez voir l'option Comptes Cosmos DB comme indiqué dans l'image ci-dessous. Cliquez avec le bouton droit sur cette option et cliquez sur Se connecter à Cosmos DB… pour obtenir la fenêtre dans laquelle nous entrerons la chaîne de connexion principale pour notre compte cosmos DB nouvellement créé afin d'établir une connexion à l'aide de l'explorateur de stockage.

Connectez-vous au compte cosmos db à l'aide de l'explorateur de stockage Azure

L'écran ci-dessous apparaîtra pour saisir la chaîne de connexion. La chaîne de connexion principale sera saisie dans la zone de saisie Chaîne de connexion.

Entrez les chaînes de connexion

Entrez la chaîne de connexion copiée à partir de l'étape ci-dessus dans la zone de chaîne de connexion, l' étiquette de compte sera automatiquement reconnue et affichée une fois que vous aurez entré la chaîne de connexion copiée. Vous pouvez le voir dans l'image ci-dessous, je n'ai pas saisi le libellé du compte, il est déjà rempli après avoir saisi la chaîne de connexion. Maintenant, cliquez sur le bouton Suivant de l'image ci-dessous.

Entrez les chaînes de connexion du compte cosmos db

Un écran récapitulatif apparaîtra pour valider les détails de la connexion et si tout semble correct, appuyez sur le bouton Connecter en bas de l'image ci-dessous.

Vérifier la chaîne de connexion lors de la connexion au compte cosmos db

Maintenant, nous pouvons voir notre compte cosmos DB nouvellement créé cosmosdb19oct2021 dans l'explorateur de stockage Azure. S'il n'est pas visible pour vous, cliquez sur le lien Actualiser tout affiché dans l'image ci-dessous.

Connectez-vous au compte cosmos db à l'aide de l'explorateur de stockage Azure

Nous nous sommes connectés avec succès à un compte Azure Cosmos DB à l'aide de l'explorateur de stockage Azure dans l'image ci-dessus. Maintenant, je vais vous montrer diverses activités au niveau de la base de données que nous pouvons effectuer sur le compte cosmos DB à l'aide de l'explorateur de stockage.

Créer une base de données Cosmos à l'aide de l'explorateur de stockage

Nous avons créé un compte cosmos DB et l'avons connecté à l'explorateur de stockage. Explorons maintenant toutes les options que nous pouvons effectuer sur ce compte cosmos DB à l'aide de l'explorateur de stockage Azure. Cliquez avec le bouton droit sur le compte de base de données connecté pour obtenir la liste des activités que nous pouvons effectuer au niveau du compte cosmos DB et la liste de ces activités peut être vue dans l'image ci-dessous.

Liste des options que nous pouvons effectuer au niveau du compte cosmos db

Laissez-moi vous montrer comment créer une base de données dans ce compte cosmos DB. Cliquez sur l'option Créer une base de données à partir de l'image ci-dessus, vous obtiendrez la zone de texte ci-dessous pour entrer le nom de la base de données.

Créer une nouvelle base de données

Entrez le nom de la base de données et appuyez sur Entrée pour la créer. Vous pouvez voir que la base de données mdscosmosDB a été créée sous le compte cosmos DB cosmosdb19oct2021 .

Nouvelle base de données

Nous avons créé une base de données dans le compte cosmos DB dans cette section. Maintenant, nous allons effectuer des activités au niveau de la base de données dans la section suivante.

Créer des collections dans la base de données Azure Cosmos à l'aide de l'explorateur de stockage Azure

Je suppose que vous avez déjà un compte cosmos DB et une base de données. Vous vous êtes connecté au compte cosmos DB à l'aide de l'explorateur de stockage, comme indiqué dans l'image ci-dessous. Maintenant, nous allons explorer toutes les activités qui peuvent être effectuées pour la base de données créée dans un compte cosmos DB.

Développez le nom du compte cosmos DB connecté et cliquez avec le bouton droit sur le nom de la base de données affiché dans l'arborescence du compte cosmos DB. Vous pouvez voir la liste des activités que nous pouvons effectuer sur cette base de données à l'aide de l'explorateur de stockage.

Liste des activités pouvant être effectuées au niveau de la base de données

Laissez-moi vous montrer comment créer une collection dans cette base de données. Cliquez sur l'option Créer une collection… indiquée dans l'image ci-dessus. Vous arriverez sous la fenêtre pour entrer l'ID de la collection et définir la capacité de stockage de la collection.

Créer une nouvelle collection

Entrez les détails requis pour procéder à la création de la collection. Je les ai entrés comme indiqué dans l'image ci-dessous et j'ai cliqué sur le bouton OK .

Créer une nouvelle collection

Vous pouvez voir que la collection est créée dans la base de données dans l'image ci-dessous. Une liste d'objets est affichée sous l'arborescence de la collection, comme des documents, des procédures stockées, des déclencheurs, des fonctions définies par l'utilisateur.

Nouvelle collection

Vous pouvez aller de l'avant et tester d'autres activités que nous pouvons faire au niveau de la base de données. Si vous souhaitez supprimer cette base de données, vous pouvez choisir cette option dans la liste qui s'affiche après un clic droit sur le nom de la base de données. Assurez-vous d'avoir une sauvegarde en place au cas où vous auriez besoin de ces données à l'avenir.

Ajouter un nouveau document à une collection cosmos DB à l'aide de l'explorateur de stockage Azure

Maintenant, vous pouvez continuer et ajouter un document à la collection créée ci-dessus. Cliquez sur l'option Documents affichée dans le volet gauche de l'image ci-dessous sous la collection nouvellement créée. Vous obtiendrez l'explorateur des détails du document dans le volet de droite. Cliquez sur l'option Nouveau document affichée en haut de l'image.

Cliquez sur l'option Nouveau document

L'écran ci-dessous avec le modèle de format JSON viendra créer un document. Ici, vous pouvez entrer le numéro d'identification et d'autres champs et leurs détails que vous souhaitez ajouter à ce document et cliquer sur le bouton Enregistrer pour enregistrer ce document.

Ouvrir la fenêtre Nouveau document

J'ai créé un document avec les détails du champ JSON ci-dessous et j'ai cliqué sur le bouton Enregistrer pour le stocker. Si vous cliquez sur le bouton Enregistrer , quelques champs générés par le système seront automatiquement ajoutés au JSON ci-dessous.

Créer le document à l'aide de JSON

Jetez un oeil à l'image ci-dessous, ici j'ai ajouté jusqu'au champ Balises , mais le champ restant est ajouté après avoir cliqué sur le bouton Enregistrer .

Enregistrez le document nouvellement créé

De même, vous pouvez créer plusieurs documents en cliquant sur l' option Nouveau document et une fois que vous les aurez enregistrés, cela ressemblera à l'image ci-dessous.

Créer un nouveau document

Si vous souhaitez supprimer un document, vous pouvez sélectionner l'ID de document correspondant dans la colonne ID et appuyer sur le bouton Supprimer indiqué dans la barre de ruban.

Supprimer un document

Effectuer d'autres activités Cosmos DB à l'aide de l'explorateur de stockage Azure

Nous pouvons également effectuer d'autres activités comme nous pouvons créer une nouvelle procédure stockée en faisant un clic droit sur cette option et en choisissant de créer une procédure stockée…

Créer une procédure stockée

Une fois que vous avez cliqué sur l'option ci-dessus, il vous sera demandé d'entrer son nom et une fois que vous aurez appuyé sur Entrée, l'écran ci-dessous viendra avec un exemple de procédure stockée dans le volet droit du nom de la procédure stockée.

Créer une procédure stockée

Conclusion

Azure Storage Explorer est une application de bureau très utile pour gérer le stockage Azure et d'autres services liés au cloud Azure, tels que Cosmos DB et les services de lac de données. Aujourd'hui, j'ai exploré comment se connecter au compte Azure Cosmos DB à l'aide de l'explorateur de stockage Azure et effectuer diverses activités sur le compte cosmos DB et ses objets à l'aide de l'explorateur de stockage sans accéder au portail Azure. Vous avez également appris comment créer un compte cosmos DB dans cet article.

Lien : https://www.sqlshack.com/managing-cosmos-db-using-azure-storage-explorer/

#azure #cosmosdb #database

Comment Gérer Cosmos DB à L'aide D'Azure Storage Explorer
Hans  Marvin

Hans Marvin

1659497862

How to Manage Cosmos DB using Azure Storage Explorer

This article will explain how to perform various activities for Azure cosmos DB using Azure storage explorer. The storage explorer is a very useful desktop utility that helps admins to manage Azure storage without accessing the Azure portal. We can also connect to Azure Cosmos DB accounts using this tool but this feature will be deprecated in the future. As of now, it is supported so I decided to explore it for cosmos DB activities.

Azure Cosmos DB is a fully managed NoSQL database service in the Azure cloud that is globally distributed and suitable for modern-day application development. It is a faster, easily scalable, highly available, and secure database service.

See more at: https://www.sqlshack.com/managing-cosmos-db-using-azure-storage-explorer/

#azure #cosmosdb #database

How to Manage Cosmos DB using Azure Storage Explorer
Lilyan  Mohr

Lilyan Mohr

1656174780

Azure Cosmos DB Is A Wonderful, Multiparadigm, Easy to Use

Azure Cosmos DB is a wonderful, multiparadigm, easy to use No SQL solution for storing all kinds of data. With a few clicks, one can have a Cosmos Cluster installed and running in no time. At the same time, there are some pitfalls that can impact Cosmos DB if careful consideration is not taken. In this video, we'll look at several of those pitfalls and how to avoid them.

#azure #cosmosdb 

Azure Cosmos DB Is A Wonderful, Multiparadigm, Easy to Use
Lilyan  Mohr

Lilyan Mohr

1656001320

Azure Cosmos DB Has Versatile Hidden Feature: The Change Feed

Azure Cosmos DB has versatile hidden feature: the change feed. The Change Feed allows apps to subscribe to Cosmos DB for inserts and updates on data. When this happens, the changes are published to the change feed as an event, and code can respond to the changes rather than polling the database or having to create complex dataflows. In this video, we'll set one up and show you how easy it is to use.

#azure #cosmosdb 

Azure Cosmos DB Has Versatile Hidden Feature: The Change Feed

Azure SQL Database Frente A Azure Cosmos DB: ¿Cuál Debería Elegir?

¿Comenzó recientemente a desarrollar o migrar una aplicación a Microsoft Azure? Si es así, una de las cosas que probablemente tenga que decidir es la solución de base de datos que desea utilizar. La nube de Microsoft ofrece múltiples opciones, siendo las dos más populares Azure SQL Database (y sus dos hermanos, Azure SQL Managed Instances y SQL Server en Azure VM) y Azure Cosmos DB.

Recientemente, estuve comparando estas dos alternativas para mi aplicación. Obtuve algunas ideas que me encantaría compartir con mis lectores. Primero, veamos ambos productos por separado y veamos qué características ofrecen.

Base de datos Azure SQL

Azure SQL es la oferta de SQL Server de Microsoft en Azure. Hay tres servicios relacionados con Azure SQL para elegir:

  • Base de datos Azure SQL
  • Instancia administrada de Azure SQL
  • SQL Server en máquinas virtuales de Azure

Azure SQL Database es el servicio más "administrado" de los tres. Es una oferta de PaaS que le permite configurar SQL Server de forma rápida y sin esfuerzo. La mayoría de las tareas de administración, incluidas las copias de seguridad, las actualizaciones y la supervisión, están a cargo de usted. Tampoco necesita administrar la infraestructura subyacente.

Hay varios niveles de servicio para elegir, incluida una opción de base de datos única con memoria y cómputo configurables, una opción de grupo elástico que le permite compartir recursos entre varias bases de datos, así como una opción sin servidor que puede escalar sus recursos dinámicamente según el uso.

SQL Server en máquinas virtuales de Azure simplemente le permite ejecutar una instancia de SQL Server en su propia máquina virtual de Azure aprovisionada. Esto significa que obtiene un control casi total sobre todos los aspectos de la implementación. Esto también significa que deberá ocuparse de la mayoría de las tareas de administración a las que está acostumbrado a realizar en su solución local.

Azure SQL Managed Instance es una especie de híbrido entre estos dos. Por un lado, le permite transferir sin problemas su base de datos local de SQL Server a la nube. Por otro lado, le brinda muchas ventajas de la nube, incluida la seguridad mejorada, parches automáticos, actualizaciones de versiones y copias de seguridad automáticas.

Since Azure SQL is mostly compatible with SQL Server, it also offers the same transactional guarantees (ACID) as the on-premises product. Due to these strong guarantees, scaling out by adding multiple server instances is mostly limited to read-only replicas. This is also true for the geo-replication feature of Azure SQL.

Pricing for Azure SQL Database is based on the computing and memory you require (vCores) as well as the local storage and backup storage you configure. Overall, the pricing seems easy to understand.

Azure Cosmos DB

Cosmos DB is the NoSQL offering on Azure. It is designed from the ground up to support extreme scalability, fully embracing the concept of eventual consistency. The main target applications are IoT and global-facing cloud applications. To this end, Cosmos DB offers different consistency levels, data access methods (APIs) as well as scaling options.

Since Cosmos DB is a NoSQL database, it generally conforms well with how data is used by your application. For instance, an “item” can be inserted into the database as a JSON document and the output of a query is a JSON document as well. Databases and containers are used as namespaces over the items with certain additional functions.

To support extreme horizontal scaling, Cosmos DB uses multiple mechanisms. First, Cosmos DB partitions each container according to a partition key. These partitions are automatically spread across physical nodes. Additionally, global distribution of data is achieved by deploying your data across multiple Azure regions. This decreases latency and increases responsiveness across the world. It also provides a failover during regional outages.

Understandably, global distribution comes at the expense of consistency. In contrast to SQL Server which provides strong ACID guarantees by default, Cosmos DB allows you to choose between multiple consistency levels, each providing its guarantees. The most extreme of these, eventual consistency, only guarantees that all replicas will converge at some point in the future.

The pricing model of Cosmos DB is based on request units (RU). 1RU is the cost of a 1KB point-read. Queries are correspondingly more expensive. Request units seem simple enough, but it’s hard to estimate the usage given your particular data access patterns without prior experience.

Pros and Cons

Having described both solutions, you may ask which one is most suitable for you? Let us discuss some strengths and weaknesses of both databases.

Azure SQL Database Pros

  • Flexible deployment options. Whether you want a fully managed service or if you simply want to run SQL Server on Azure’s VMs, Azure SQL Database got you covered.
  • Familiar with SQL developers. Since Azure SQL Database is essentially the Azure implementation of the well-known SQL Server, most skills directly transfer to the cloud offering.
  • Customizability. If you run your own SQL Server instance, you have control over every setting.
  • Transparent pricing. Pricing is based on the required memory, compute, and storage resources.
  • Migration. Relatively easy migration of your on-premises SQL Server databases to Azure SQL due to the same underlying engine.
  • Stability and reliability. Microsoft SQL Server was initially released back in 1989 and has come a long way since then. It is a mature, stable, and well-tested database engine.

Azure SQL Database Cons

  • Fixed schema. Generally, SQL databases are less suited for frequently changing software requirements due to their fixed schema. Schema migration may be hard to manage. Although SQL Server can work with JSON data nowadays (thus bridging the gap between SQL and NoSQL), it requires special syntax and feels a bit like an afterthought.
  • ACID guarantees and distributed transactions. While these features can be very useful for some applications, they also drastically reduce scalability in case you don’t need them.
  • Limited scaling. While scaling up (by adding more memory or compute to your SQL Server instances) is a quick and easy way to ramp up performance, it may become prohibitively expensive beyond a certain point. Scaling out (by adding multiple instances of SQL Server) is mostly limited to read-only replicas.

Azure Cosmos DB Pros

  • Global distribution. Many companies nowadays act worldwide. Their customers expect the same performance from applications regardless of where they are located. This makes the standard SQL database model very inefficient. Having one write-enabled master node with multiple read-only replicas is not sufficient for tasks such as social network feeds or IoT data streams.
  • Multiple consistency levels. On the other hand, these applications usually do not need the consistency guarantees of the traditional databases. They can rely on weaker consistency models such as consistent prefix or even eventual consistency. Having the freedom to choose the consistency level is a major benefit of Cosmos DB.
  • Auto-indexing support. Every container has an indexing policy set to speed up queries. By default every property is indexed and range indexes are enforced. This is sufficient for most use cases. However, advanced indexing settings are available.
  • Support for multiple languages out-of-the-box. There are ready-made APIs available for .NET, Java, Python, Ruby, and JavaScript. No need for complex ORM layers.
  • Multiple APIs. Cosmos DB provides its own Core API as well as multiple alternative database APIs (Gremlin API, Cassandra API, MongoDB API, Table API) that help with migration from other NoSQL databases. This lowers the migration cost and learning curve.

Azure Cosmos DB Cons

  • Harder to understand for traditional DB admins. Since Cosmos DB is a NoSQL database and doesn’t necessarily provide strong ACID guarantees (depending on configuration), it is harder to understand for DB administrators used to dealing with traditional SQL databases.
  • Complex migration from SQL Server. Migration from a SQL Server-based solution may prove to be very costly and in extreme cases may require rewriting major parts of the application. Subsequent optimization will then take up even more time. I would only advise doing this if the benefits of global scaling outweigh the efforts.
  • Hard-to-understand pricing model. The pricing model is based on Request Units which may be unintuitive. The Cosmos DB Capacity Calculator in the portal may help with cost estimates provided you can estimate certain key metrics. In general, Cosmos DB may be quite expensive.
  • Public cloud-only. The only place where Cosmos DB is deployed is in Microsoft’s datacenters. Currently, there is no offering for hybrid or on-premises cloud solutions such as Azure Arc.

Conclusion

Both products have a place in the Azure ecosystem. While Azure SQL Database provides easy migration from your on-premises SQL Server solution and helps you to leverage your existing SQL Server knowledge, Cosmos DB was designed from the ground up for global distribution and is fully managed.

If I had to decide which database to use for a new project, I would certainly go with Cosmos DB, as I simply love its scalability and flexibility. As a NoSQL service, interacting with the database simply feels more natural in your application code than working for complex ORM middleware required for traditional databases. Moreover, the choice of multiple consistency levels makes it very easy to choose the right balance between speed and consistency.

My main concern with Cosmos DB is its steep learning curve for administrators used to dealing with traditional SQL databases. Setting up your first Cosmos DB database feels overwhelming. You will have to read through lots of documentation or watch lots of tutorials to figure out how to set up the service to fulfill your specific requirements.

Sin embargo, creo que esto mejorará con el tiempo a medida que aumente la tasa de adopción. Cosmos DB ya ha recorrido un largo camino en poco tiempo y no veo la hora de ver hacia dónde nos dirigimos a continuación.

Fuente: https://betterprogramming.pub/azure-sql-database-vs-cosmos-db-which-should-you-choose-cda17b60d6d2

#cosmosdb #azure #sql 

Azure SQL Database Frente A Azure Cosmos DB: ¿Cuál Debería Elegir?
Léon  Peltier

Léon Peltier

1655983860

Azure SQL Database Contre Azure Cosmos DB — Lequel Choisir ?

Avez-vous récemment commencé à développer ou à porter une application sur Microsoft Azure ? Si tel est le cas, vous devrez probablement décider de la solution de base de données que vous souhaitez utiliser. Le cloud Microsoft offre plusieurs options, les deux plus populaires étant Azure SQL Database (et ses deux frères, Azure SQL Managed Instances et SQL Server sur les machines virtuelles Azure) et Azure Cosmos DB.

Récemment, je comparais ces deux alternatives pour mon application. J'ai acquis des idées que j'aimerais partager avec mes lecteurs. Tout d'abord, examinons les deux produits séparément et voyons quelles fonctionnalités ils offrent.

Base de données SQL Azure

Azure SQL est l'offre SQL Server de Microsoft sur Azure. Vous avez le choix entre trois services liés à Azure SQL :

  • Base de données SQL Azure
  • Instance gérée Azure SQL
  • SQL Server sur les machines virtuelles Azure

Azure SQL Database est le service le plus « géré » des trois. Il s'agit d'une offre PaaS vous permettant de configurer SQL Server rapidement et sans effort. La plupart des tâches d'administration, y compris les sauvegardes, les mises à jour et la surveillance, sont prises en charge pour vous. Vous n'avez pas non plus besoin de gérer l'infrastructure sous-jacente.

Vous avez le choix entre plusieurs niveaux de service, notamment une option de base de données unique avec mémoire et calcul configurables, une option de pool élastique qui vous permet de partager des ressources entre plusieurs bases de données, ainsi qu'une option sans serveur qui peut faire évoluer vos ressources de manière dynamique en fonction de l'utilisation.

SQL Server sur les machines virtuelles Azure vous permet simplement d'exécuter une instance SQL Server sur votre propre machine virtuelle Azure provisionnée. Cela signifie que vous obtenez un contrôle presque total sur tous les aspects du déploiement. Cela signifie également que vous devrez vous soucier de la plupart des tâches d'administration que vous avez l'habitude d'effectuer sur votre solution sur site.

Azure SQL Managed Instance est une sorte d'hybride entre les deux. D'une part, il vous permet de transférer en toute transparence votre base de données SQL Server sur site vers le cloud. D'autre part, il vous offre de nombreux avantages du cloud, notamment une sécurité améliorée, des correctifs automatiques, des mises à jour de version et des sauvegardes automatisées.

Étant donné qu'Azure SQL est principalement compatible avec SQL Server, il offre également les mêmes garanties transactionnelles (ACID) que le produit sur site. En raison de ces solides garanties, la mise à l'échelle en ajoutant plusieurs instances de serveur est principalement limitée aux répliques en lecture seule. Cela est également vrai pour la fonctionnalité de géoréplication d'Azure SQL.

La tarification d'Azure SQL Database est basée sur l'informatique et la mémoire dont vous avez besoin (vCores), ainsi que sur le stockage local et le stockage de sauvegarde que vous configurez. Dans l'ensemble, le prix semble facile à comprendre.

Azure Cosmos DB

Cosmos DB est l'offre NoSQL sur Azure. Il est conçu dès le départ pour prendre en charge une évolutivité extrême, en adoptant pleinement le concept de cohérence éventuelle. Les principales applications cibles sont l'IoT et les applications cloud mondiales. À cette fin, Cosmos DB propose différents niveaux de cohérence, des méthodes d'accès aux données (API) ainsi que des options de mise à l'échelle.

Étant donné que Cosmos DB est une base de données NoSQL, elle se conforme généralement bien à la manière dont les données sont utilisées par votre application. Par exemple, un "élément" peut être inséré dans la base de données en tant que document JSON et la sortie d'une requête est également un document JSON. Les bases de données et les conteneurs sont utilisés comme espaces de noms sur les éléments avec certaines fonctions supplémentaires.

Pour prendre en charge une mise à l'échelle horizontale extrême, Cosmos DB utilise plusieurs mécanismes. Tout d'abord, Cosmos DB partitionne chaque conteneur en fonction d'une clé de partition. Ces partitions sont automatiquement réparties sur les nœuds physiques. De plus, la distribution mondiale des données est obtenue en déployant vos données dans plusieurs régions Azure. Cela diminue la latence et augmente la réactivité à travers le monde. Il fournit également un basculement pendant les pannes régionales.

Naturellement, la distribution mondiale se fait au détriment de la cohérence. Contrairement à SQL Server qui fournit par défaut de fortes garanties ACID, Cosmos DB vous permet de choisir entre plusieurs niveaux de cohérence , chacun fournissant ses garanties. La plus extrême d'entre elles, la cohérence éventuelle, garantit uniquement que toutes les répliques convergeront à un moment donné dans le futur.

Le modèle de tarification de Cosmos DB est basé sur les unités de demande (RU). 1RU est le coût d'une lecture ponctuelle de 1 Ko. Les requêtes sont donc plus chères. Les unités de requête semblent assez simples, mais il est difficile d'estimer l'utilisation compte tenu de vos modèles d'accès aux données particuliers sans expérience préalable.

Avantages et inconvénients

Après avoir décrit les deux solutions, vous pouvez vous demander laquelle vous convient le mieux ? Discutons quelques forces et faiblesses des deux bases de données.

Avantages de la base de données Azure SQL

  • Options de déploiement flexibles. Que vous souhaitiez un service entièrement géré ou que vous souhaitiez simplement exécuter SQL Server sur les machines virtuelles d'Azure, Azure SQL Database est là pour vous.
  • Familier avec les développeurs SQL. Étant donné qu'Azure SQL Database est essentiellement l'implémentation Azure du célèbre serveur SQL, la plupart des compétences sont directement transférées vers l'offre cloud.
  • Personnalisation. Si vous exécutez votre propre instance SQL Server, vous contrôlez chaque paramètre.
  • Tarification transparente. La tarification est basée sur les ressources de mémoire, de calcul et de stockage requises.
  • Migration. Migration relativement facile de vos bases de données SQL Server sur site vers Azure SQL grâce au même moteur sous-jacent.
  • Stabilité et fiabilité. Microsoft SQL Server a été initialement publié en 1989 et a parcouru un long chemin depuis lors. C'est un moteur de base de données mature, stable et bien testé.

Inconvénients de la base de données Azure SQL

  • Schéma fixe. Généralement, les bases de données SQL sont moins adaptées aux exigences logicielles qui changent fréquemment en raison de leur schéma fixe. La migration de schéma peut être difficile à gérer. Bien que SQL Server puisse fonctionner avec des données JSON de nos jours (comblant ainsi le fossé entre SQL et NoSQL), il nécessite une syntaxe spéciale et ressemble un peu à une réflexion après coup.
  • Garanties ACID et transactions distribuées. Bien que ces fonctionnalités puissent être très utiles pour certaines applications, elles réduisent également considérablement l'évolutivité au cas où vous n'en auriez pas besoin.
  • Mise à l'échelle limitée. Bien que la mise à l'échelle (en ajoutant plus de mémoire ou de calcul à vos instances SQL Server) soit un moyen rapide et facile d'augmenter les performances, elle peut devenir prohibitive au-delà d'un certain point. La mise à l'échelle (en ajoutant plusieurs instances de SQL Server) est principalement limitée aux répliques en lecture seule.

Azure Cosmos DB Avantages

  • Répartition mondiale. De nombreuses entreprises agissent aujourd'hui dans le monde entier. Leurs clients attendent les mêmes performances des applications, quel que soit leur emplacement. Cela rend le modèle de base de données SQL standard très inefficace. Avoir un nœud maître activé en écriture avec plusieurs répliques en lecture seule n'est pas suffisant pour des tâches telles que les flux de réseaux sociaux ou les flux de données IoT.
  • Plusieurs niveaux de cohérence. D'autre part, ces applications n'ont généralement pas besoin des garanties de cohérence des bases de données traditionnelles. Ils peuvent s'appuyer sur des modèles de cohérence plus faibles tels qu'un préfixe cohérent ou même une cohérence éventuelle. Avoir la liberté de choisir le niveau de cohérence est un avantage majeur de Cosmos DB.
  • Prise en charge de l'indexation automatique. Chaque conteneur a une politique d'indexation définie pour accélérer les requêtes. Par défaut, chaque propriété est indexée et les index de plage sont appliqués. C'est suffisant pour la plupart des cas d'utilisation. Cependant, des paramètres d'indexation avancés sont disponibles.
  • Prise en charge de plusieurs langues prêtes à l'emploi. Des API prêtes à l'emploi sont disponibles pour .NET, Java, Python, Ruby et JavaScript. Pas besoin de couches ORM complexes.
  • API multiples. Cosmos DB fournit sa propre API Core ainsi que plusieurs API de base de données alternatives (API Gremlin, API Cassandra, API MongoDB, API Table) qui facilitent la migration à partir d'autres bases de données NoSQL. Cela réduit le coût de la migration et la courbe d'apprentissage.

Inconvénients d'Azure Cosmos DB

  • Plus difficile à comprendre pour les administrateurs de base de données traditionnels. Étant donné que Cosmos DB est une base de données NoSQL et ne fournit pas nécessairement de solides garanties ACID (selon la configuration), il est plus difficile à comprendre pour les administrateurs de base de données habitués à traiter avec des bases de données SQL traditionnelles.
  • Migration complexe depuis SQL Server. La migration à partir d'une solution basée sur SQL Server peut s'avérer très coûteuse et, dans des cas extrêmes, peut nécessiter la réécriture de parties importantes de l'application. L'optimisation ultérieure prendra alors encore plus de temps. Je ne conseillerais de le faire que si les avantages de la mise à l'échelle mondiale l'emportent sur les efforts.
  • Modèle de tarification difficile à comprendre. Le modèle de tarification est basé sur les unités de demande, ce qui peut ne pas être intuitif. Le calculateur de capacité Cosmos DB du portail peut vous aider à estimer les coûts, à condition que vous puissiez estimer certaines métriques clés. En général, Cosmos DB peut être assez cher.
  • Cloud public uniquement. Le seul endroit où Cosmos DB est déployé est dans les centres de données de Microsoft. Actuellement, il n'existe aucune offre pour les solutions cloud hybrides ou sur site telles qu'Azure Arc.

Conclusion

Les deux produits ont leur place dans l'écosystème Azure. Bien qu'Azure SQL Database facilite la migration depuis votre solution SQL Server sur site et vous aide à tirer parti de vos connaissances SQL Server existantes, Cosmos DB a été conçu dès le départ pour une distribution mondiale et est entièrement géré.

Si je devais décider quelle base de données utiliser pour un nouveau projet, j'opterais certainement pour Cosmos DB, car j'aime tout simplement son évolutivité et sa flexibilité. En tant que service NoSQL, l'interaction avec la base de données semble tout simplement plus naturelle dans votre code d'application que de travailler pour un middleware ORM complexe requis pour les bases de données traditionnelles. De plus, le choix de plusieurs niveaux de cohérence permet de choisir très facilement le bon équilibre entre vitesse et cohérence.

Ma principale préoccupation avec Cosmos DB est sa courbe d'apprentissage abrupte pour les administrateurs habitués à gérer les bases de données SQL traditionnelles. La configuration de votre première base de données Cosmos DB semble écrasante. Vous devrez lire de nombreux documents ou regarder de nombreux didacticiels pour comprendre comment configurer le service afin de répondre à vos besoins spécifiques.

Cependant, je pense que cela s'améliorera avec le temps à mesure que le taux d'adoption augmentera. Cosmos DB a déjà parcouru un long chemin en peu de temps, et j'ai hâte de voir où nous allons ensuite.

Source : https://betterprogramming.pub/azure-sql-database-vs-cosmos-db-which-should-you-choose-cda17b60d6d2

#cosmosdb #azure #sql 

Azure SQL Database Contre Azure Cosmos DB — Lequel Choisir ?
坂本  健一

坂本 健一

1655983740

AzureSQLデータベースとAzureCosmosDB —どちらを選択する必要がありますか?

最近、アプリケーションの開発またはMicrosoft Azureへの移植を開始しましたか?もしそうなら、おそらくあなたが決定しなければならないことの1つは、使用したいデータベースソリューションです。Microsoftクラウドには複数のオプションがあり、最も人気のある2つはAzure SQLデータベース(およびその2つの兄弟、AzureSQLマネージドインスタンスとAzureVM上のSQLServer)とAzureCosmosDBです。

最近、私は自分のアプリケーションでこれら2つの選択肢を比較していました。私は読者と共有したいいくつかの洞察を得ました。まず、両方の製品を別々に見て、それらが提供する機能を確認しましょう。

AzureSQLデータベース

Azure SQLは、Azureで提供されるMicrosoftのSQLServerです。AzureSQLに関連する3つのサービスから選択できます。

  • AzureSQLデータベース
  • AzureSQLマネージドインスタンス
  • AzureVM上のSQLServer

Azure SQL Databaseは、3つのうちで最も「マネージド」なサービスです。これは、SQLServerをすばやく簡単にセットアップできるPaaSオファリングです。バックアップ、更新、監視など、ほとんどの管理タスクが自動的に処理されます。また、基盤となるインフラストラクチャを管理する必要もありません。

構成可能なメモリとコンピューティングを備えた単一のデータベースオプション、複数のデータベース間でリソースを共有できるエラスティックプールオプション、用途に応じてリソースを動的に拡張できるサーバーレスオプションなど、複数のサービス層から選択できます。

AzureVM上のSQLServerを使用すると、プロビジョニングされた独自のAzure仮想マシンでSQLServerインスタンスを実行できます。これは、展開のあらゆる側面をほぼ完全に制御できることを意味します。これは、オンプレミスソリューションで実行するのに慣れているほとんどの管理タスクに注意する必要があることも意味します。

Azure SQLマネージドインスタンスは、これら2つのハイブリッドの一種です。一方では、オンプレミスのSQLServerデータベースをクラウドにシームレスに転送できます。一方、セキュリティの向上、自動パッチ適用、バージョン更新、自動バックアップなど、クラウドの多くの利点があります。

AzureSQLはSQLServerとほとんど互換性があるため、オンプレミス製品と同じトランザクション保証(ACID)も提供します。これらの強力な保証により、複数のサーバーインスタンスを追加することによるスケールアウトは、ほとんどの場合、読み取り専用レプリカに限定されます。これは、AzureSQLのジオレプリケーション機能にも当てはまります。

Azure SQL Databaseの料金は、必要なコンピューティングとメモリ(vCores)、および構成するローカルストレージとバックアップストレージに基づいています。全体的に、価格設定は理解しやすいようです。

Azure Cosmos DB

Cosmos DBは、Azure上のNoSQLオファリングです。これは、結果整合性の概念を完全に取り入れて、極端なスケーラビリティをサポートするようにゼロから設計されています。主なターゲットアプリケーションは、IoTとグローバル向けのクラウドアプリケーションです。この目的のために、Cosmos DBは、さまざまな整合性レベル、データアクセスメソッド(API)、およびスケーリングオプションを提供します。

Cosmos DBはNoSQLデータベースであるため、通常、アプリケーションでのデータの使用方法によく準拠しています。たとえば、「アイテム」をJSONドキュメントとしてデータベースに挿入でき、クエリの出力もJSONドキュメントになります。データベースとコンテナは、特定の追加機能を備えたアイテムの名前空間として使用されます。

極端な水平スケーリングをサポートするために、CosmosDBは複数のメカニズムを使用します。まず、Cosmos DBは、パーティションキーに従って各コンテナーをパーティション化します。これらのパーティションは、物理ノード全体に自動的に分散されます。さらに、データのグローバルな分散は、複数のAzureリージョンにデータをデプロイすることで実現されます。これにより、レイテンシが減少し、世界中で応答性が向上します。また、地域の停止時にフェイルオーバーを提供します。

当然のことながら、グローバルな配布には一貫性が犠牲になります。デフォルトで強力なACID保証を提供するSQLServerとは対照的に、Cosmos DBでは、それぞれが保証を提供する複数の整合性レベルから選択できます。これらの最も極端な結果整合性は、すべてのレプリカが将来のある時点で収束することを保証するだけです。

Cosmos DBの価格設定モデルは、リクエストユニット(RU)に基づいています。1RUは、1KBのポイント読み取りのコストです。それに応じて、クエリはより高価になります。リクエストユニットは十分に単純に見えますが、事前の経験がなければ、特定のデータアクセスパターンを考慮して使用量を見積もることは困難です。

長所と短所

両方の解決策を説明したので、どちらが自分に最も適しているかを尋ねることができますか?両方のデータベースの長所と短所について説明しましょう。

AzureSQLデータベースの長所

  • 柔軟な展開オプション。フルマネージドサービスが必要な場合でも、AzureのVMでSQL Serverを実行するだけの場合でも、AzureSQLDatabaseで対応できます。
  • SQL開発者に精通している。Azure SQL Databaseは、基本的にはよく知られているSQL ServerのAzure実装であるため、ほとんどのスキルはクラウド製品に直接移行します。
  • カスタマイズ性。独自のSQLServerインスタンスを実行する場合は、すべての設定を制御できます。
  • 透明性のある価格設定。料金は、必要なメモリ、コンピューティング、およびストレージリソースに基づいています。
  • 移行。基盤となるエンジンが同じであるため、オンプレミスのSQLServerデータベースをAzureSQLに比較的簡単に移行できます。
  • 安定性と信頼性。Microsoft SQL Serverは、最初は1989年にリリースされ、それ以来長い道のりを歩んできました。これは、成熟した、安定した、十分にテストされたデータベースエンジンです。

AzureSQLデータベースの短所

  • スキーマを修正しました。一般に、SQLデータベースは、スキーマが固定されているため、頻繁に変更されるソフトウェア要件にはあまり適していません。スキーマの移行は管理が難しい場合があります。SQL Serverは現在JSONデータを処理できますが(したがって、SQLとNoSQLの間のギャップを埋める)、特別な構文が必要であり、少し後付けのように感じます。
  • ACIDは、分散トランザクションを保証します。これらの機能は一部のアプリケーションでは非常に便利ですが、不要な場合はスケーラビリティが大幅に低下します。
  • 限られたスケーリング。スケールアップ(SQL Serverインスタンスにメモリまたはコンピューティングを追加することによる)はパフォーマンスを向上させるための迅速かつ簡単な方法ですが、特定のポイントを超えると非常に高額になる可能性があります。スケールアウト(SQL Serverの複数のインスタンスを追加することによる)は、ほとんどの場合、読み取り専用レプリカに制限されています。

AzureCosmosDBの長所

  • グローバルな配布。今日、多くの企業が世界中で活動しています。顧客は、場所に関係なく、アプリケーションに同じパフォーマンスを期待しています。これにより、標準のSQLデータベースモデルは非常に非効率になります。ソーシャルネットワークフィードやIoTデータストリームなどのタスクには、複数の読み取り専用レプリカを持つ1つの書き込み対応マスターノードを持つだけでは不十分です。
  • 複数の整合性レベル。一方、これらのアプリケーションは通常、従来のデータベースの整合性保証を必要としません。一貫性のあるプレフィックスや結果整合性など、より弱い一貫性モデルに依存する可能性があります。整合性レベルを自由に選択できることは、CosmosDBの主な利点です。
  • 自動インデックスのサポート。すべてのコンテナには、クエリを高速化するために設定されたインデックスポリシーがあります。デフォルトでは、すべてのプロパティにインデックスが付けられ、範囲インデックスが適用されます。ほとんどのユースケースではこれで十分です。ただし、高度なインデックス設定を使用できます。
  • すぐに使用できる複数の言語のサポート。.NET、Java、Python、Ruby、およびJavaScriptで使用できる既製のAPIがあります。複雑なORMレイヤーは必要ありません。
  • 複数のAPI。Cosmos DBは、独自のコアAPIと、他のNoSQLデータベースからの移行を支援する複数の代替データベースAPI(Gremlin API、Cassandra API、MongoDB API、Table API)を提供します。これにより、移行コストと学習曲線が低下します。

AzureCosmosDBの短所

  • 従来のDB管理者にとっては理解が困難です。Cosmos DBはNoSQLデータベースであり、必ずしも強力なACID保証を提供するわけではないため(構成によって異なります)、従来のSQLデータベースの処理に慣れているDB管理者にとっては理解が困難です。
  • SQLServerからの複雑な移行。SQL Serverベースのソリューションからの移行は非常にコストがかかることが判明する場合があり、極端な場合には、アプリケーションの主要部分を書き直す必要がある場合があります。その後の最適化には、さらに時間がかかります。グローバルスケーリングのメリットが努力を上回っている場合にのみ、これを行うことをお勧めします。
  • 理解しにくい価格設定モデル。価格設定モデルは、直感的でない可能性のあるリクエストユニットに基づいています。ポータルのCosmosDBCapacity Calculatorは、特定の主要なメトリックを見積もることができれば、コストの見積もりに役立つ場合があります。一般に、CosmosDBは非常に高価な場合があります。
  • パブリッククラウドのみ。Cosmos DBが展開される唯一の場所は、Microsoftのデータセンターです。現在、AzureArcなどのハイブリッドまたはオンプレミスのクラウドソリューションは提供されていません。

結論

どちらの製品も、Azureエコシステムに組み込まれています。Azure SQL Databaseは、オンプレミスのSQL Serverソリューションからの移行を容易にし、既存のSQL Serverの知識を活用するのに役立ちますが、Cosmos DBは、グローバルな配布用にゼロから設計され、完全に管理されています。

新しいプロジェクトに使用するデータベースを決定する必要がある場合は、Cosmos DBを使用します。これは、そのスケーラビリティと柔軟性が大好きだからです。NoSQLサービスとして、データベースとの対話は、従来のデータベースに必要な複雑なORMミドルウェアで作業するよりも、アプリケーションコードでより自然に感じられます。さらに、複数の整合性レベルを選択すると、速度と整合性の間の適切なバランスを非常に簡単に選択できます。

Cosmos DBに関する私の主な関心事は、従来のSQLデータベースの処理に慣れている管理者にとっての急な学習曲線です。最初のCosmosDBデータベースをセットアップするのは大変なことです。特定の要件を満たすようにサービスを設定する方法を理解するには、多くのドキュメントを読むか、多くのチュートリアルを見る必要があります。

ただし、採用率が上がるにつれて、時間の経過とともに改善されると思います。Cosmos DBは短期間ですでに長い道のりを歩んでおり、次の方向性を見るのが待ちきれません。

ソース:https ://betterprogramming.pub/azure-sql-database-vs-cosmos-db-which-should-you-choose-cda17b60d6d2

#cosmosdb #azure #sql 

AzureSQLデータベースとAzureCosmosDB —どちらを選択する必要がありますか?
顾 静

顾 静

1655983500

Azure SQL 数据库与 Azure Cosmos DB——你应该选择哪一个?

您最近是否开始开发或将应用程序移植到 Microsoft Azure?如果是这样,您可能必须决定的一件事是您要使用的数据库解决方案。Microsoft 云提供了多种选择,其中最流行的两个是 Azure SQL 数据库(及其两个兄弟,Azure SQL 托管实例和 Azure VM 上的 SQL Server)和 Azure Cosmos DB。

最近,我正在为我的应用程序比较这两种替代方案。我获得了一些我愿意与读者分享的见解。首先,让我们分别看看这两种产品,看看它们提供了哪些功能。

Azure SQL 数据库

Azure SQL 是 Microsoft 在 Azure 上提供的 SQL Server 产品。有三种与 Azure SQL 相关的服务可供选择:

  • Azure SQL 数据库
  • Azure SQL 托管实例
  • Azure VM 上的 SQL Server

Azure SQL 数据库是三者中最“托管”的服务。它是一种 PaaS 产品,使您能够快速轻松地设置 SQL Server。大多数管理任务,包括备份、更新和监控,都由您完成。您也不需要管理底层基础架构。

有多个服务层可供选择,包括具有可配置内存和计算的单个数据库选项、使您能够在多个数据库之间共享资源的弹性池选项以及可以根据使用情况动态扩展资源的无服务器选项。

Azure VM 上的 SQL Server 仅使您能够在自己预配的 Azure 虚拟机上运行 SQL Server 实例。这意味着您几乎可以完全控制部署的各个方面。这也意味着您将需要关心您习惯于在本地解决方案上执行的大多数管理任务。

Azure SQL 托管实例是这两者之间的一种混合。一方面,它使您能够将本地 SQL Server 数据库无缝传输到云中。另一方面,它为您提供了云的许多优势,包括改进的安全性、自动修补、版本更新和自动备份。

由于 Azure SQL 主要与 SQL Server 兼容,因此它还提供与本地产品相同的事务保证 (ACID)。由于这些强有力的保证,通过添加多个服务器实例进行横向扩展主要限于只读副本。Azure SQL 的异地复制功能也是如此。

Azure SQL 数据库的定价基于你需要的计算和内存 (vCore) 以及你配置的本地存储和备份存储。总体而言,定价似乎很容易理解。

Azure Cosmos 数据库

Cosmos DB 是 Azure 上的 NoSQL 产品。它从头开始设计以支持极高的可扩展性,完全接受最终一致性的概念。主要目标应用程序是物联网和面向全球的云应用程序。为此,Cosmos DB 提供了不同的一致性级别、数据访问方法 (API) 以及扩展选项。

由于 Cosmos DB 是一个 NoSQL 数据库,它通常很好地符合应用程序使用数据的方式。例如,可以将“项目”作为 JSON 文档插入数据库,查询的输出也是 JSON 文档。数据库和容器用作具有某些附加功能的项目的命名空间。

为了支持极端水平扩展,Cosmos DB 使用了多种机制。首先,Cosmos DB 根据分区键对每个容器进行分区。这些分区自动分布在物理节点上。此外,通过跨多个 Azure 区域部署数据来实现数据的全球分布。这减少了延迟并提高了全球范围内的响应能力。它还在区域中断期间提供故障转移。

可以理解的是,全球分布是以牺牲一致性为代价的。与默认提供强 ACID 保证的 SQL Server 相比,Cosmos DB 允许您在多个一致性级别之间进行选择,每个级别都提供其保证。其中最极端的最终一致性只能保证所有副本将在未来某个时间点收敛。

Cosmos DB 的定价模型基于请求单位 (RU)。1RU 是 1KB 点读取的成本。查询相应地更昂贵。请求单元看起来很简单,但是在没有经验的情况下很难估计使用情况给定您的特定数据访问模式。

优点和缺点

描述了这两种解决方案后,您可能会问哪一种最适合您?让我们讨论一下这两个数据库的一些优点和缺点。

Azure SQL 数据库专家

  • 灵活的部署选项。无论您想要完全托管的服务,还是只想在 Azure 的 VM 上运行 SQL Server,Azure SQL 数据库都能满足您的需求。
  • 熟悉SQL开发人员。由于 Azure SQL 数据库本质上是众所周知的 SQL Server 的 Azure 实现,因此大多数技能直接转移到云产品中。
  • 可定制性。如果您运行自己的 SQL Server 实例,则可以控制所有设置。
  • 透明的定价。定价基于所需的内存、计算和存储资源。
  • 移民。由于相同的底层引擎,将本地 SQL Server 数据库迁移到 Azure SQL 相对容易。
  • 稳定性和可靠性。Microsoft SQL Server 最初于 1989 年发布,从那时起已经走过了漫长的道路。它是一个成熟、稳定且经过良好测试的数据库引擎。

Azure SQL 数据库缺点

  • 固定架构。通常,SQL 数据库由于其固定模式不太适合频繁更改的软件需求。架构迁移可能难以管理。尽管 SQL Server 现在可以处理JSON 数据(从而缩小了 SQL 和 NoSQL 之间的差距),但它需要特殊的语法并且感觉有点像是事后才想到的。
  • ACID 保证和分布式事务。虽然这些功能对某些应用程序非常有用,但如果您不需要它们,它们也会大大降低可伸缩性。
  • 有限的缩放。虽然扩展(通过向 SQL Server 实例添加更多内存或计算)是提高性能的一种快速简便的方法,但超过某个点可能会变得非常昂贵。横向扩展(通过添加多个 SQL Server 实例)主要限于只读副本。

Azure Cosmos DB 专业人士

  • 全球分布。如今,许多公司在全球范围内开展业务。他们的客户无论身在何处,都希望应用程序具有相同的性能。这使得标准的 SQL 数据库模型非常低效。拥有一个具有多个只读副本的可写主节点对于诸如社交网络馈送或物联网数据流之类的任务来说是不够的。
  • 多个一致性级别。另一方面,这些应用程序通常不需要传统数据库的一致性保证。他们可以依赖较弱的一致性模型,例如一致的前缀甚至最终一致性。可以自由选择一致性级别是 Cosmos DB 的主要优势。
  • 自动索引支持。每个容器都设置了索引策略以加快查询速度。默认情况下,每个属性都被索引并强制执行范围索引。这对于大多数用例来说已经足够了。但是,可以使用高级索引设置。
  • 开箱即用支持多种语言。有现成的 API 可用于 .NET、Java、Python、Ruby 和 JavaScript。不需要复杂的 ORM 层。
  • 多个 API。Cosmos DB 提供了自己的核心 API 以及多个替代数据库 API(Gremlin API、Cassandra API、MongoDB API、表 API),以帮助从其他 NoSQL 数据库迁移。这降低了迁移成本和学习曲线。

Azure Cosmos DB 缺点

  • 对于传统的数据库管理员来说更难理解。由于 Cosmos DB 是一个 NoSQL 数据库,并且不一定提供强 ACID 保证(取决于配置),因此对于习惯于处理传统 SQL 数据库的数据库管理员来说,这很难理解。
  • 从 SQL Server 进行复杂的迁移。从基于 SQL Server 的解决方案迁移可能证明成本非常高,在极端情况下可能需要重写应用程序的主要部分。随后的优化将占用更多时间。如果全球扩展的好处超过了努力,我只会建议这样做。
  • 难以理解的定价模型。定价模型基于可能不直观的请求单位。如果您可以估计某些关键指标,则门户中的Cosmos DB 容量计算器可能有助于成本估计。一般来说,Cosmos DB 可能非常昂贵。
  • 仅限公共云。部署 Cosmos DB 的唯一地方是 Microsoft 的数据中心。目前,没有提供混合或本地云解决方案,例如 Azure Arc。

结论

这两种产品都在 Azure 生态系统中占有一席之地。虽然 Azure SQL 数据库提供从本地 SQL Server 解决方案的轻松迁移并帮助您利用现有的 SQL Server 知识,但 Cosmos DB 是为全球分发而设计的,并且是完全托管的。

如果我必须决定将哪个数据库用于新项目,我肯定会选择 Cosmos DB,因为我只是喜欢它的可扩展性和灵活性。作为一项 NoSQL 服务,与数据库交互在您的应用程序代码中感觉比使用传统数据库所需的复杂 ORM 中间件更自然。此外,多个一致性级别的选择使得在速度和一致性之间选择适当的平衡变得非常容易。

我对 Cosmos DB 的主要担忧是,对于习惯于处理传统 SQL 数据库的管理员来说,它的学习曲线陡峭。设置您的第一个 Cosmos DB 数据库让人感觉不知所措。您将不得不阅读大量文档或观看大量教程,以了解如何设置服务以满足您的特定要求。

但是,我认为随着采用率的提高,这种情况会随着时间的推移而改善。Cosmos DB 已经在很短的时间内取得了长足的进步,我迫不及待地想看看我们接下来的发展方向。

来源:https ://betterprogramming.pub/azure-sql-database-vs-cosmos-db-which-should-you-choose-cda17b60d6d2

#cosmosdb #azure #sql 

Azure SQL 数据库与 Azure Cosmos DB——你应该选择哪一个?

Banco De Dados SQL Do Azure Vs. Azure Cosmos DB

Você começou recentemente a desenvolver ou portar um aplicativo para o Microsoft Azure? Nesse caso, uma das coisas que você provavelmente terá que decidir é a solução de banco de dados que deseja usar. A nuvem da Microsoft oferece várias opções, sendo as duas mais populares o Azure SQL Database (e seus dois irmãos, Azure SQL Managed Instances e SQL Server em VMs do Azure) e Azure Cosmos DB.

Recentemente, eu estava comparando essas duas alternativas para minha aplicação. Ganhei alguns insights que adoraria compartilhar com meus leitores. Primeiro, vamos analisar os dois produtos separadamente e ver quais recursos eles oferecem.

Banco de Dados SQL do Azure

Azure SQL é a oferta de SQL Server da Microsoft no Azure. Há três serviços relacionados ao Azure SQL para escolher:

  • Banco de Dados SQL do Azure
  • Instância Gerenciada de SQL do Azure
  • SQL Server em VMs do Azure

O Banco de Dados SQL do Azure é o serviço mais “gerenciado” dos três. É uma oferta de PaaS que permite configurar o SQL Server de forma rápida e sem esforço. A maioria das tarefas de administração, incluindo backups, atualizações e monitoramento, são feitas para você. Você também não precisa gerenciar a infraestrutura subjacente.

Há várias camadas de serviço para escolher, incluindo uma única opção de banco de dados com memória e computação configuráveis, uma opção de pool elástico que permite compartilhar recursos entre vários bancos de dados, bem como uma opção sem servidor que pode dimensionar seus recursos dinamicamente dependendo do uso.

O SQL Server em VMs do Azure simplesmente permite que você execute uma instância do SQL Server em sua própria máquina virtual do Azure provisionada. Isso significa que você obtém controle quase total sobre todos os aspectos da implantação. Isso também significa que você precisará se preocupar com a maioria das tarefas de administração que está acostumado a executar em sua solução local.

A Instância Gerenciada de SQL do Azure é uma espécie de híbrido entre esses dois. Por um lado, ele permite que você transfira perfeitamente seu banco de dados local do SQL Server para a nuvem. Por outro lado, oferece muitas vantagens da nuvem, incluindo segurança aprimorada, correção automática, atualizações de versão e backups automatizados.

Como o Azure SQL é compatível principalmente com o SQL Server, ele também oferece as mesmas garantias transacionais (ACID) que o produto local. Devido a essas fortes garantias, o dimensionamento horizontal adicionando várias instâncias de servidor é limitado principalmente a réplicas somente leitura. Isso também vale para o recurso de replicação geográfica do Azure SQL.

O preço do Banco de Dados SQL do Azure é baseado na computação e na memória de que você precisa (vCores), bem como no armazenamento local e no armazenamento de backup que você configura. No geral, o preço parece fácil de entender.

Azure Cosmos DB

Cosmos DB é a oferta NoSQL no Azure. Ele foi projetado desde o início para suportar escalabilidade extrema, adotando totalmente o conceito de consistência eventual. Os principais aplicativos de destino são IoT e aplicativos de nuvem voltados para o mundo. Para isso, o Cosmos DB oferece diferentes níveis de consistência, métodos de acesso a dados (APIs) e opções de dimensionamento.

Como o Cosmos DB é um banco de dados NoSQL, geralmente está em conformidade com a forma como os dados são usados ​​pelo seu aplicativo. Por exemplo, um “item” pode ser inserido no banco de dados como um documento JSON e a saída de uma consulta também é um documento JSON. Bancos de dados e contêineres são usados ​​como namespaces sobre os itens com determinadas funções adicionais.

Para dar suporte ao dimensionamento horizontal extremo, o Cosmos DB usa vários mecanismos. Primeiro, o Cosmos DB particiona cada contêiner de acordo com uma chave de partição. Essas partições são distribuídas automaticamente entre nós físicos. Além disso, a distribuição global de dados é alcançada implantando seus dados em várias regiões do Azure. Isso diminui a latência e aumenta a capacidade de resposta em todo o mundo. Ele também fornece um failover durante interrupções regionais.

Compreensivelmente, a distribuição global vem à custa da consistência. Ao contrário do SQL Server, que fornece garantias ACID fortes por padrão, o Cosmos DB permite que você escolha entre vários níveis de consistência , cada um fornecendo suas garantias. A mais extrema delas, a consistência eventual, apenas garante que todas as réplicas convergirão em algum momento no futuro.

O modelo de preços do Cosmos DB é baseado em unidades de solicitação (RU). 1RU é o custo de uma leitura de ponto de 1 KB. As consultas são correspondentemente mais caras. As unidades de solicitação parecem bastante simples, mas é difícil estimar o uso considerando seus padrões específicos de acesso a dados sem experiência prévia.

Prós e contras

Tendo descrito ambas as soluções, você pode perguntar qual é a mais adequada para você? Vamos discutir alguns pontos fortes e fracos de ambos os bancos de dados.

Profissionais do Banco de Dados SQL do Azure

  • Opções de implantação flexíveis. Se você deseja um serviço totalmente gerenciado ou simplesmente deseja executar o SQL Server nas VMs do Azure, o Banco de Dados SQL do Azure oferece cobertura.
  • Familiarizado com desenvolvedores SQL. Como o Banco de Dados SQL do Azure é essencialmente a implementação do Azure do conhecido SQL Server, a maioria das habilidades é transferida diretamente para a oferta de nuvem.
  • Personalização. Se você executar sua própria instância do SQL Server, terá controle sobre todas as configurações.
  • Preços transparentes. O preço é baseado nos recursos necessários de memória, computação e armazenamento.
  • Migração. Migração relativamente fácil de seus bancos de dados locais do SQL Server para o Azure SQL devido ao mesmo mecanismo subjacente.
  • Estabilidade e confiabilidade. O Microsoft SQL Server foi lançado inicialmente em 1989 e percorreu um longo caminho desde então. É um mecanismo de banco de dados maduro, estável e bem testado.

Contras do Banco de Dados SQL do Azure

  • Esquema fixo. Geralmente, os bancos de dados SQL são menos adequados para requisitos de software que mudam com frequência devido ao seu esquema fixo. A migração de esquema pode ser difícil de gerenciar. Embora o SQL Server possa trabalhar com dados JSON hoje em dia (fazendo a ponte entre SQL e NoSQL), ele requer uma sintaxe especial e parece um pouco uma reflexão tardia.
  • Garantias ACID e transações distribuídas. Embora esses recursos possam ser muito úteis para alguns aplicativos, eles também reduzem drasticamente a escalabilidade caso você não precise deles.
  • Escala limitada. Embora o aumento de escala (adicionando mais memória ou computação às instâncias do SQL Server) seja uma maneira rápida e fácil de aumentar o desempenho, pode se tornar proibitivamente caro além de um determinado ponto. O dimensionamento horizontal (adicionando várias instâncias do SQL Server) é limitado principalmente a réplicas somente leitura.

Profissionais do Azure Cosmos DB

  • Distribuição global. Muitas empresas hoje atuam em todo o mundo. Seus clientes esperam o mesmo desempenho dos aplicativos, independentemente de onde estejam localizados. Isso torna o modelo de banco de dados SQL padrão muito ineficiente. Ter um nó mestre habilitado para gravação com várias réplicas somente leitura não é suficiente para tarefas como feeds de redes sociais ou fluxos de dados IoT.
  • Vários níveis de consistência. Por outro lado, essas aplicações geralmente não precisam das garantias de consistência dos bancos de dados tradicionais. Eles podem contar com modelos de consistência mais fracos, como prefixo consistente ou até consistência eventual. Ter a liberdade de escolher o nível de consistência é um grande benefício do Cosmos DB.
  • Suporte de indexação automática. Cada contêiner tem uma política de indexação definida para acelerar as consultas. Por padrão, todas as propriedades são indexadas e os índices de intervalo são aplicados. Isso é suficiente para a maioria dos casos de uso. No entanto, as configurações de indexação avançadas estão disponíveis.
  • Suporte para vários idiomas pronto para uso. Existem APIs prontas disponíveis para .NET, Java, Python, Ruby e JavaScript. Não há necessidade de camadas ORM complexas.
  • Várias APIs. O Cosmos DB fornece sua própria API Core, bem como várias APIs de banco de dados alternativas (API Gremlin, API Cassandra, API MongoDB, API de tabela) que ajudam na migração de outros bancos de dados NoSQL. Isso reduz o custo de migração e a curva de aprendizado.

Contras do Azure Cosmos DB

  • Mais difícil de entender para administradores de banco de dados tradicionais. Como o Cosmos DB é um banco de dados NoSQL e não fornece necessariamente fortes garantias ACID (dependendo da configuração), é mais difícil de entender para administradores de banco de dados acostumados a lidar com bancos de dados SQL tradicionais.
  • Migração complexa do SQL Server. A migração de uma solução baseada em SQL Server pode ser muito cara e, em casos extremos, pode exigir a reescrita de grandes partes do aplicativo. A otimização subsequente levará ainda mais tempo. Eu só aconselharia fazer isso se os benefícios da escala global superarem os esforços.
  • Modelo de precificação difícil de entender. O modelo de preços é baseado em Unidades de Solicitação que podem não ser intuitivas. A Calculadora de Capacidade do Cosmos DB no portal pode ajudar com estimativas de custo, desde que você possa estimar determinadas métricas-chave. Em geral, o Cosmos DB pode ser bastante caro.
  • Somente nuvem pública. O único local onde o Cosmos DB é implantado é nos datacenters da Microsoft. Atualmente, não há oferta para soluções de nuvem híbridas ou locais, como o Azure Arc.

Conclusão

Ambos os produtos têm um lugar no ecossistema do Azure. Embora o Banco de Dados SQL do Azure forneça uma migração fácil de sua solução SQL Server local e ajude você a aproveitar seu conhecimento existente do SQL Server, o Cosmos DB foi projetado desde o início para distribuição global e é totalmente gerenciado.

Se eu tivesse que decidir qual banco de dados usar para um novo projeto, certamente escolheria o Cosmos DB, pois simplesmente adoro sua escalabilidade e flexibilidade. Como um serviço NoSQL, interagir com o banco de dados simplesmente parece mais natural em seu código de aplicativo do que trabalhar para middleware ORM complexo necessário para bancos de dados tradicionais. Além disso, a escolha de vários níveis de consistência torna muito fácil escolher o equilíbrio certo entre velocidade e consistência.

Minha principal preocupação com o Cosmos DB é sua curva de aprendizado íngreme para administradores acostumados a lidar com bancos de dados SQL tradicionais. A configuração do seu primeiro banco de dados Cosmos DB parece esmagadora. Você terá que ler muita documentação ou assistir a muitos tutoriais para descobrir como configurar o serviço para atender aos seus requisitos específicos.

No entanto, acho que isso melhorará com o tempo à medida que a taxa de adoção aumentar. O Cosmos DB já percorreu um longo caminho em pouco tempo e mal posso esperar para ver para onde iremos a seguir.

Fonte: https://betterprogramming.pub/azure-sql-database-vs-cosmos-db-which-should-you-choose-cda17b60d6d2

#cosmosdb #azure #sql 

Banco De Dados SQL Do Azure Vs. Azure Cosmos DB
Trung  Nguyen

Trung Nguyen

1655983080

Cơ Sở Dữ Liệu Azure SQL So Với Cơ Sở Dữ Liệu Azure Cosmos

Gần đây bạn có bắt đầu phát triển hoặc chuyển một ứng dụng sang Microsoft Azure không? Nếu vậy, một trong những điều bạn có thể phải quyết định là giải pháp cơ sở dữ liệu bạn muốn sử dụng. Đám mây Microsoft cung cấp nhiều tùy chọn, với hai tùy chọn phổ biến nhất là Cơ sở dữ liệu Azure SQL (và hai anh em của nó, Azure SQL Managed Instances và SQL Server trên Azure VMs) và Azure Cosmos DB.

Gần đây, tôi đã so sánh hai lựa chọn thay thế này cho ứng dụng của mình. Tôi đã có được một số hiểu biết mà tôi muốn chia sẻ với độc giả của mình. Trước tiên, chúng ta hãy xem xét cả hai sản phẩm một cách riêng biệt và xem chúng cung cấp những tính năng nào.

Cơ sở dữ liệu Azure SQL

Azure SQL là SQL Server của Microsoft cung cấp trên Azure. Có ba dịch vụ liên quan đến Azure SQL để bạn lựa chọn:

  • Cơ sở dữ liệu Azure SQL
  • Phiên bản Azure SQL Managed
  • Máy chủ SQL trên máy ảo Azure

Cơ sở dữ liệu Azure SQL là dịch vụ “được quản lý” nhiều nhất trong số ba dịch vụ. Nó là một PaaS cung cấp cho phép bạn thiết lập SQL Server nhanh chóng và dễ dàng. Hầu hết các tác vụ quản trị, bao gồm sao lưu, cập nhật và giám sát được thực hiện cho bạn. Bạn cũng không cần phải quản lý cơ sở hạ tầng bên dưới.

Có nhiều cấp dịch vụ để lựa chọn, bao gồm một tùy chọn cơ sở dữ liệu duy nhất với bộ nhớ có thể định cấu hình và máy tính, tùy chọn nhóm đàn hồi cho phép bạn chia sẻ tài nguyên giữa nhiều cơ sở dữ liệu cũng như tùy chọn không máy chủ có thể mở rộng tài nguyên của bạn một cách linh hoạt tùy thuộc vào việc sử dụng.

SQL Server trên Azure VMs chỉ cho phép bạn chạy phiên bản SQL Server trên máy ảo Azure được cung cấp của riêng bạn. Điều này có nghĩa là bạn có toàn quyền kiểm soát mọi khía cạnh của việc triển khai. Điều này cũng có nghĩa là bạn sẽ cần quan tâm đến hầu hết các tác vụ quản trị mà bạn đã quen thực hiện trên giải pháp tại chỗ của mình.

Azure SQL Managed Instance là một loại kết hợp giữa hai loại này. Một mặt, nó cho phép bạn chuyển cơ sở dữ liệu SQL Server tại chỗ của mình lên đám mây một cách liền mạch. Mặt khác, nó mang lại cho bạn nhiều lợi thế của đám mây, bao gồm cải thiện bảo mật, tự động vá lỗi, cập nhật phiên bản và sao lưu tự động.

Vì Azure SQL hầu hết tương thích với SQL Server, nó cũng cung cấp các đảm bảo giao dịch (ACID) giống như sản phẩm tại chỗ. Do những đảm bảo mạnh mẽ này, việc mở rộng quy mô bằng cách thêm nhiều phiên bản máy chủ hầu như chỉ giới hạn ở các bản sao chỉ đọc. Điều này cũng đúng với tính năng sao chép địa lý của Azure SQL.

Định giá cho Cơ sở dữ liệu Azure SQL dựa trên máy tính và bộ nhớ bạn yêu cầu (vCores) cũng như bộ nhớ cục bộ và bộ nhớ sao lưu mà bạn định cấu hình. Nhìn chung, giá cả có vẻ dễ hiểu.

Cơ sở dữ liệu Azure Cosmos

Cosmos DB là cung cấp NoSQL trên Azure. Nó được thiết kế từ đầu để hỗ trợ khả năng mở rộng cực cao, hoàn toàn bao hàm khái niệm về tính nhất quán cuối cùng. Các ứng dụng mục tiêu chính là IoT và các ứng dụng đám mây toàn cầu. Để đạt được điều này, Cosmos DB cung cấp các mức nhất quán khác nhau, các phương pháp truy cập dữ liệu (API) cũng như các tùy chọn mở rộng quy mô.

Vì Cosmos DB là một cơ sở dữ liệu NoSQL, nó thường tuân thủ tốt với cách dữ liệu được ứng dụng của bạn sử dụng. Ví dụ: một “item” có thể được chèn vào cơ sở dữ liệu dưới dạng tài liệu JSON và đầu ra của truy vấn cũng là tài liệu JSON. Cơ sở dữ liệu và vùng chứa được sử dụng làm không gian tên trên các mục có chức năng bổ sung nhất định.

Để hỗ trợ mở rộng quy mô theo chiều ngang, Cosmos DB sử dụng nhiều cơ chế. Đầu tiên, Cosmos DB phân vùng từng vùng chứa theo một khóa phân vùng. Các phân vùng này được tự động trải rộng trên các nút vật lý. Ngoài ra, phân phối dữ liệu toàn cầu đạt được bằng cách triển khai dữ liệu của bạn trên nhiều khu vực Azure. Điều này làm giảm độ trễ và tăng khả năng phản hồi trên toàn thế giới. Nó cũng cung cấp một chuyển đổi dự phòng trong thời gian mất điện khu vực.

Có thể hiểu, phân phối toàn cầu đi kèm với chi phí nhất quán. Trái ngược với SQL Server cung cấp bảo đảm ACID mạnh mẽ theo mặc định, Cosmos DB cho phép bạn chọn giữa nhiều mức nhất quán , mỗi mức cung cấp sự đảm bảo của nó. Điểm cực đoan nhất trong số này, tính nhất quán cuối cùng, chỉ đảm bảo rằng tất cả các bản sao sẽ hội tụ vào một thời điểm nào đó trong tương lai.

Mô hình định giá của Cosmos DB dựa trên đơn vị yêu cầu (RU). 1RU là chi phí của một lần đọc điểm 1KB. Các truy vấn tương ứng đắt hơn. Các đơn vị yêu cầu có vẻ đủ đơn giản, nhưng thật khó để ước tính mức sử dụng dựa trên các mẫu truy cập dữ liệu cụ thể của bạn nếu không có kinh nghiệm trước đó.

Ưu và nhược điểm

Sau khi mô tả cả hai giải pháp, bạn có thể hỏi giải pháp nào phù hợp nhất với bạn? Hãy để chúng tôi thảo luận về một số điểm mạnh và điểm yếu của cả hai cơ sở dữ liệu.

Ưu điểm Cơ sở dữ liệu Azure SQL

  • Các tùy chọn triển khai linh hoạt. Cho dù bạn muốn một dịch vụ được quản lý hoàn toàn hay chỉ đơn giản là bạn muốn chạy SQL Server trên các máy ảo của Azure, Cơ sở dữ liệu Azure SQL sẽ giúp bạn.
  • Quen thuộc với các nhà phát triển SQL. Vì Cơ sở dữ liệu Azure SQL về cơ bản là triển khai Azure của SQL Server nổi tiếng, hầu hết các kỹ năng đều chuyển trực tiếp sang dịch vụ đám mây.
  • Khả năng tùy biến. Nếu bạn chạy phiên bản SQL Server của riêng mình, bạn có quyền kiểm soát mọi cài đặt.
  • Định giá minh bạch. Định giá dựa trên tài nguyên bộ nhớ, máy tính và lưu trữ được yêu cầu.
  • Di cư. Di chuyển tương đối dễ dàng cơ sở dữ liệu SQL Server tại chỗ của bạn sang Azure SQL do cùng một công cụ cơ bản.
  • Tính ổn định và độ tin cậy. Microsoft SQL Server ban đầu được phát hành vào năm 1989 và đã trải qua một chặng đường dài kể từ đó. Nó là một công cụ cơ sở dữ liệu trưởng thành, ổn định và đã được thử nghiệm tốt.

Nhược điểm của cơ sở dữ liệu Azure SQL

  • Lược đồ cố định. Nói chung, cơ sở dữ liệu SQL ít phù hợp hơn với các yêu cầu phần mềm thường xuyên thay đổi do lược đồ cố định của chúng. Việc di chuyển giản đồ có thể khó quản lý. Mặc dù SQL Server có thể hoạt động với dữ liệu JSON ngày nay (do đó thu hẹp khoảng cách giữa SQL và NoSQL), nó yêu cầu cú pháp đặc biệt và cảm thấy hơi giống như một suy nghĩ muộn màng.
  • ACID đảm bảo và giao dịch phân tán. Mặc dù các tính năng này có thể rất hữu ích cho một số ứng dụng, nhưng chúng cũng làm giảm đáng kể khả năng mở rộng trong trường hợp bạn không cần đến chúng.
  • Mở rộng quy mô hạn chế. Mặc dù mở rộng quy mô (bằng cách thêm nhiều bộ nhớ hoặc tính toán vào các phiên bản SQL Server của bạn) là một cách nhanh chóng và dễ dàng để tăng hiệu suất, nhưng nó có thể trở nên cực kỳ tốn kém ngoài một số điểm nhất định. Mở rộng quy mô (bằng cách thêm nhiều phiên bản của SQL Server) hầu như chỉ giới hạn ở các bản sao chỉ đọc.

Ưu điểm của Azure Cosmos DB

  • Phân phối toàn cầu. Nhiều công ty ngày nay hoạt động trên toàn thế giới. Khách hàng của họ mong đợi hiệu suất tương tự từ các ứng dụng bất kể chúng được đặt ở đâu. Điều này làm cho mô hình cơ sở dữ liệu SQL tiêu chuẩn rất kém hiệu quả. Việc có một nút chính hỗ trợ ghi với nhiều bản sao chỉ đọc là không đủ cho các tác vụ như nguồn cấp dữ liệu mạng xã hội hoặc luồng dữ liệu IoT.
  • Nhiều cấp độ nhất quán. Mặt khác, các ứng dụng này thường không cần sự đảm bảo nhất quán của cơ sở dữ liệu truyền thống. Họ có thể dựa vào các mô hình nhất quán yếu hơn như tiền tố nhất quán hoặc thậm chí nhất quán cuối cùng. Có quyền tự do lựa chọn mức độ nhất quán là lợi ích chính của Cosmos DB.
  • Hỗ trợ lập chỉ mục tự động. Mỗi vùng chứa đều có chính sách lập chỉ mục được thiết lập để tăng tốc các truy vấn. Theo mặc định, mọi thuộc tính đều được lập chỉ mục và chỉ mục phạm vi được thực thi. Điều này là đủ cho hầu hết các trường hợp sử dụng. Tuy nhiên, cài đặt lập chỉ mục nâng cao có sẵn.
  • Hỗ trợ nhiều ngôn ngữ khác nhau. Có sẵn các API được tạo sẵn cho .NET, Java, Python, Ruby và JavaScript. Không cần các lớp ORM phức tạp.
  • Nhiều API. Cosmos DB cung cấp API lõi của riêng mình cũng như nhiều API cơ sở dữ liệu thay thế (API Gremlin, API Cassandra, API MongoDB, API bảng) giúp di chuyển từ các cơ sở dữ liệu NoSQL khác. Điều này làm giảm chi phí di chuyển và đường cong học tập.

Nhược điểm của Azure Cosmos DB

  • Khó hiểu hơn đối với quản trị viên DB truyền thống. Vì Cosmos DB là một cơ sở dữ liệu NoSQL và không nhất thiết phải cung cấp đảm bảo ACID mạnh (tùy thuộc vào cấu hình), nên khó hiểu hơn đối với các quản trị viên DB quen xử lý cơ sở dữ liệu SQL truyền thống.
  • Di chuyển phức tạp từ SQL Server. Việc di chuyển từ một giải pháp dựa trên SQL Server có thể rất tốn kém và trong những trường hợp cực đoan có thể yêu cầu viết lại các phần chính của ứng dụng. Việc tối ưu hóa tiếp theo sẽ mất nhiều thời gian hơn. Tôi chỉ khuyên bạn nên làm điều này nếu lợi ích của việc mở rộng quy mô toàn cầu lớn hơn những nỗ lực.
  • Mô hình định giá khó hiểu. Mô hình định giá dựa trên Đơn vị yêu cầu có thể không trực quan. Máy tính công suất Cosmos DB trong cổng có thể giúp ước tính chi phí với điều kiện bạn có thể ước tính một số chỉ số chính nhất định. Nói chung, Cosmos DB có thể khá đắt.
  • Chỉ dành cho đám mây công cộng. Nơi duy nhất mà Cosmos DB được triển khai là trong các trung tâm dữ liệu của Microsoft. Hiện tại, không có cung cấp cho các giải pháp đám mây kết hợp hoặc tại chỗ như Azure Arc.

Sự kết luận

Cả hai sản phẩm đều có một vị trí trong hệ sinh thái Azure. Trong khi Cơ sở dữ liệu Azure SQL cung cấp khả năng di chuyển dễ dàng từ giải pháp SQL Server tại chỗ của bạn và giúp bạn tận dụng kiến ​​thức SQL Server hiện có của mình, Cosmos DB được thiết kế từ đầu để phân phối toàn cầu và được quản lý hoàn toàn.

Nếu tôi phải quyết định sử dụng cơ sở dữ liệu nào cho một dự án mới, tôi chắc chắn sẽ sử dụng Cosmos DB, vì tôi chỉ đơn giản là yêu thích khả năng mở rộng và tính linh hoạt của nó. Là một dịch vụ NoSQL, việc tương tác với cơ sở dữ liệu chỉ đơn giản là tạo cảm giác tự nhiên hơn trong mã ứng dụng của bạn so với làm việc cho phần mềm trung gian ORM phức tạp cần thiết cho cơ sở dữ liệu truyền thống. Hơn nữa, việc lựa chọn nhiều mức độ nhất quán giúp bạn rất dễ dàng lựa chọn mức cân bằng phù hợp giữa tốc độ và tính nhất quán.

Mối quan tâm chính của tôi với Cosmos DB là đường cong học tập dốc của nó dành cho các quản trị viên đã từng làm việc với cơ sở dữ liệu SQL truyền thống. Việc thiết lập cơ sở dữ liệu Cosmos DB đầu tiên của bạn khiến bạn cảm thấy choáng ngợp. Bạn sẽ phải đọc qua nhiều tài liệu hoặc xem nhiều hướng dẫn để tìm ra cách thiết lập dịch vụ để đáp ứng các yêu cầu cụ thể của bạn.

Tuy nhiên, tôi nghĩ rằng điều này sẽ được cải thiện theo thời gian khi tỷ lệ chấp nhận tăng lên. Cosmos DB đã đi được một chặng đường dài trong một thời gian ngắn và tôi rất nóng lòng muốn xem chúng ta sẽ đi đến đâu tiếp theo.

Nguồn: https://betterprogramming.pub/azure-sql-database-vs-cosmos-db-which-should-you-choose-cda17b60d6d2

#cosmosdb #azure #sql 

Cơ Sở Dữ Liệu Azure SQL So Với Cơ Sở Dữ Liệu Azure Cosmos
Diego  Elizondo

Diego Elizondo

1655723400

Sincronizar Datos Almacenados En Caché Con Cosmos DB Mediante Ncache

¿Qué es CosmosDB?

Azure Cosmos DB es un servicio de base de datos NoSQL multimodelo basado en la nube totalmente administrado y distribuido globalmente. Está completamente administrado debido a su simplicidad de implementación y acuerdos de nivel de servicio (SLA) completos de Microsoft. Admite el formato JSON flexible, lo que significa que admite datos JSON y no estructurados y datos fáciles de almacenar con muy menos código.

Casos de uso comunes de CosmosDB 

  1. IoT: para ingerir, procesar y almacenar datos
  2. Juegos: se utiliza en la integración de redes sociales, tablas de clasificación de puntaje alto y muchos otros
  3. Venta minorista y marketing: para almacenar datos de búsqueda, abastecimiento de eventos en canalizaciones de procesamiento de pedidos
  4. Aplicación web y móvil: integración con servicios de terceros, almacenamiento de datos y personalización

NCache con CosmosDB

Podemos mejorar o ampliar aún más el rendimiento de CosmosDB con NCache. NCache es un caché distribuido en memoria de código abierto para .NET, Java y Node.js. NCache es extremadamente rápido y linealmente escalable y almacena en caché los datos de la aplicación para reducir los costosos viajes a la base de datos. 

NCache se encuentra mucho más cerca de su aplicación y, por lo tanto, es mucho más rápido de acceder. 

En este artículo, aprenderá a integrar el almacenamiento en caché distribuido en su aplicación de Azure Cosmos DB mediante NCache y la sincronización de datos entre Azure Cosmos DB y NCache mediante funciones de Azure.

Problemas principales en CosomsDB
 

1. Cuello de botella de rendimiento 

Microsoft Azure afirma que Cosmos DB le dará un tiempo de respuesta de milisegundos, bien, ¿qué sucede si su solución reduce el tiempo de respuesta de un segundo a un milisegundo y de un milisegundo a un submilisegundo? Es posible incorporando NCache con CosmosDB. 

ComosDB es un servicio alojado, por lo que estará en VNET en su propia suscripción, lo que aumenta la parte de la latencia, el rendimiento de su base de datos cosmos se degradará específicamente en transacciones/cargas altas. Cuando recibe muchas solicitudes y necesita manejar esos datos de manera rápida y oportuna. Acceder a él a través de su VNET es muy lento y piense en acceder desde la aplicación local cuando hay mucho tráfico. Aquí es donde entra en escena una caché distribuida como NCache. Puede almacenar en caché los datos a los que se accede con frecuencia para mejorar los tiempos de respuesta. La naturaleza distribuida del almacenamiento en caché en NCache para Azure CosmosDB garantiza un rendimiento óptimo en cargas de transacciones extremas al hacer que la caché también sea linealmente escalable.

2. Alto costo 

El costo es uno de los factores principales cuando se trata de Azure Cosmos DB. Cada vez que intenta acceder a Microsoft Azure Cosmos DB, incluso para los datos de solo lectura, cuesta porque el plan de costos se basa en la unidad de solicitud. Si esos datos no se cambian con tanta frecuencia, es el mismo contenido, pero aún tiene la fuente maestra que proviene de Cosmos DB, esos son los datos que está buscando. Para esos datos, debe seguir yendo y viniendo a Microsoft. Azure Cosmos DB y ahí es donde paga en términos de unidad de solicitud y eso aumenta su costo. Por lo tanto, los costos aumentarían si aumenta la carga de solicitudes. El costo de uso aumenta y es un problema específico para los datos de solo lectura.

Por lo tanto, es muy escalable, en cuanto a la carga de solicitudes que puede manejar, pero no será muy rentable en ese escenario. Por lo tanto, también afectará el factor de costo. Por lo tanto, podría ser un obstáculo potencial para escalar. Cuando planea escalar horizontalmente. Tiene varias particiones; tiene su carga de datos aumentando, pero el factor de costo aumenta junto con eso. La integración de Ncache con ComosDB será muy útil cuando se trata del factor de costo porque puede reducir la cantidad de unidades de solicitud almacenando en caché los datos solicitados con frecuencia en el servicio de almacenamiento en caché distribuido de Ncache 

Repasemos los siguientes temas con demostración 

  1. Almacenamiento en caché de datos de aplicaciones con Cosmos DB
  2. Sincronice NCache con Azure CosmosDB

Datos de la aplicación con CosmosDB

Antes de comenzar, debemos tener Azure CosmosDB para integrarlo con NCache. Creé un Azure CosmosDB usando Azure Portal y descargué el código de muestra para .NET desde la sección de inicio rápido.

Instalar el administrador de NCache 

Descargue NCache desde el Centro de descargas de NCache (alachisoft.com) . Le recomiendo que instale la edición Enterprises para que pueda explorar todas las funciones. Antes de la instalación, asegúrese de haber instalado .NET 6 en su máquina. 

Después de completar el proceso de descarga e instalación, puede ejecutar NChace Web Manager en el navegador desde el puerto localhost 8251, como se muestra en la siguiente figura.

Podemos crear cachés locales y en clúster desde la aplicación NCache Manager.

Para esta demostración, creé un caché local y lo llamé "myLocalCache" usando Ncache Manager como se muestra en la figura a continuación.

Haga clic aquí para ver cómo crear un caché local usando NCahce Web Manager.

Abra el código fuente de inicio rápido de Sample cosmosDB en Visual Studio y ejecútelo. Agregará un nuevo elemento a la base de datos como se muestra en la siguiente figura. 

Instale el paquete Alachisoft.NCache.SDK desde el administrador de paquetes NuGet 

Antes de ejecutar la aplicación, verifique las estadísticas de su caché local usando NCache web Manager. El conteo será cero como se muestra en la siguiente figura,

Agregue una función a continuación, en la aplicación. 

private async Task GetFamily(Family family) {
    try {
        string key = $ "Family:FamilyID:{family.Id}";
        Family familyResult = _NCacheClient.Get < Family > (key);
        if (familyResult != null) {
            Console.WriteLine(familyResult.PartitionKey);
        } else {
            var sqlQueryText = "SELECT * FROM c";
            QueryDefinition queryDefinition = new QueryDefinition(sqlQueryText);
            FeedIterator < Family > queryResultSetIterator = this.container.GetItemQueryIterator < Family > (queryDefinition);
            while (queryResultSetIterator.HasMoreResults) {
                FeedResponse < Family > currentResultSet = await queryResultSetIterator.ReadNextAsync();
                foreach(Family familyTemp in currentResultSet) {
                    if (familyTemp.Id == family.Id) {
                        _NCacheClient.Insert(key, familyTemp.ToString());
                        Console.WriteLine("\tRead {0}\n", familyTemp.LastName);
                    }
                }
            }
            Console.WriteLine(familyResult.LastName);
        }
    } catch (Exception ex) {
        //TODO
    }
}

Esta función verificará si la clave está presente en el caché o no. Si la clave está disponible en la memoria caché, obtendrá datos de la memoria caché usando la memoria caché o, de lo contrario, obtendrá los datos de cosmosDB y los insertará en la memoria caché usando la función Insertar. 

Ahora verifique las estadísticas de NCahce, el conteo aumentará a 1 como se muestra en la figura a continuación, lo que significa que el registro se insertó en el servidor de caché local.

La próxima vez que ejecute el programa, obtendrá el registro del servidor de caché local en función de la clave.

Sincronización de NCache con Azure CosmosDB

La sincronización es un aspecto importante cuando sus datos existen en dos lugares diferentes. Cada vez que hay un cambio en el caché, también aplica esos cambios en la base de datos. Pero, ¿qué sucede si los datos cambian directamente en CosmosDB y eso va al escenario más natural donde otro servicio actualiza CosmosDB? 

Independientemente de los cambios que se realicen en CosmosDB, no se reflejarán en la memoria caché; en este momento, estas dos fuentes no están sincronizadas. Necesitamos tener algún tipo de mecanismo de sincronización entre Azure CosmosDB y NCache.

Hay dos formas de sincronizar NCache con Azure CosmosDB 

  1. Función de Azure con CosmosDB Trigger
    • Procesamiento de fuente de cambio implícito
    • Sincronización Insertar y actualizar y Eliminar operación
  2. Procesador de alimentación de cambio personalizado
    • Implementar la interfaz IChangeFeedObserver explícitamente
    • Operaciones de inserción, actualización y eliminación de sincronización

Función de Azure con disparador de CosmosDB

Con la función de Azure, es muy fácil sincronizar los cambios en ComosDB con la memoria caché.

Cree una función de Azure usando Visual Studio con CosmosDB Trigger

Copie su cadena de conexión de CosmosDB desde Azure Portal al nombre de configuración de la cadena de conexión.

Reemplace el código en el archivo Function1.cs con el siguiente código.

[FunctionName("Function1")]
public static void Run([CosmosDBTrigger(databaseName: "ToDoList", collectionName: "Items", ConnectionStringSetting = "<Your CosmosDB Connection string>", LeaseCollectionName = "leases")] IReadOnlyList < Document > input, ILogger log) {
    try {
        if (input != null && input.Count > 0) {
            Family family = null;
            using(var cache = CacheManager.GetCache("myLocalCache")) {
                foreach(var document in input) {
                    family = new Family {
                        LastName = document.GetPropertyValue < string > ("LastName"),
                            Id = document.GetPropertyValue < string > ("Id")
                    };
                    cache.InsertAsync(family.Id, family);
                }
            }
        }
    } catch (Exception ex) {
        //ToDo
    }
}

Ejecute la función azure, vaya a su cosmosDB en Azure portal y modifique la colección, en mi caso he actualizado el Apellido de la colección familiar, en el momento en que actualice la colección, CosmosDB activará la función azure que insertará la colección actualizada en el caché usando la función InsertAsync.

Vaya a la estadística de caché y verifique el conteo. 

Es solo una muestra para mostrarle cómo sincronizar CosmosDB con Ncache con la ayuda de la función de Azure. No solo puede actualizar, puede capturar cualquier colección, agregar o eliminar en CosmosDB y sincronizar con su servidor de caché. La eliminación definitiva no es compatible con ComosDB, pero existe una solución alternativa para realizar una eliminación temporal. Veré más sobre la sincronización, eliminación y adición de colecciones con caché en mi próximo artículo. 

Resumen

Vimos qué es NCache y cómo integrarlo con CosmosDB para almacenar en caché los datos. Más tarde, pasamos por la demostración de la sincronización de CosmosDB con el servidor NCache con la ayuda de las funciones de Azure con el activador de CosmosDB. Veremos más sobre la sincronización de datos almacenados en caché con Cosmos DB usando NCache con el procesador de alimentación de cambios personalizado en mi próximo artículo.

Obtenga el código fuente completo en GitHub

Esta historia se publicó originalmente en https://www.c-sharpcorner.com/article/sync-cached-data-with-cosmos-db-using-ncache/

#cosmosdb #ncache 

Sincronizar Datos Almacenados En Caché Con Cosmos DB Mediante Ncache
高橋  花子

高橋 花子

1655723063

Ncacheを使用してキャッシュされたデータをCosmosDBと同期する

CosmosDBとは何ですか?

Azure Cosmos DBは、完全に管理され、グローバルに分散されたマルチモデルのクラウドベースのNoSQLデータベースサービスです。展開が簡単で、Microsoftの包括的なサービスレベルアグリーメント(SLA)があるため、完全に管理されています。柔軟なJSON形式をサポートしているため、非構造化データとJSONデータをサポートし、非常に少ないコードでデータを簡単に保存できます。

CosmosDBの一般的なユースケース 

  1. IoT –データを取り込み、処理し、保存する
  2. ゲーム–ソーシャルメディアの統合、ハイスコアのリーダーボード、その他多くの分野で使用されています
  3. 小売およびマーケティング–ルックアップデータの保存、注文処理パイプラインでのイベントソーシング
  4. Webおよびモバイルアプリケーション–サードパーティのサービスとの統合、データの保存、およびパーソナライズ

CosmosDBを使用したNCache

NCacheを使用してCosmosDBのパフォーマンスをさらに強化またはスケールアップできます。NCacheは、.NET、Java、およびNode.js用のオープンソースのメモリ内分散キャッシュです。NCacheは非常に高速で線形にスケーラブルであり、アプリケーションデータをキャッシュして、コストのかかるデータベーストリップを削減します。 

NCacheはアプリケーションの近くにあるため、アクセスがはるかに高速です。 

この記事では、NCacheを使用して分散キャッシュをAzure Cosmos DBアプリケーションに統合し、Azure関数を使用してAzureCosmosDBとNCache間のデータ同期を行う方法を学習します。

CosomsDBの主な問題
 

1.パフォーマンスのボトルネック 

Microsoft Azureは、Cosmos DBがミリ秒の応答時間を提供すると主張しています。ソリューションが1秒からミリ秒、ミリ秒からサブミリ秒の応答時間を短縮するとしたらどうでしょうか。NCacheをCosmosDBに組み込むことで可能になります。 

ComosDBはホストされたサービスであるため、独自のサブスクリプションでVNET全体に渡ります。これにより、レイテンシの部分が増加し、特に高いトランザクション/負荷の下でcosmosDBのパフォーマンスが低下します。大量のリクエストが届き、そのデータを迅速に処理する必要がある場合。VNETを介したアクセスは非常に遅く、トラフィックが多い場合はオンプレミスアプリからアクセスすることを検討してください。ここで、NCacheなどの分散キャッシュが登場します。頻繁にアクセスされるデータをキャッシュして、応答時間を改善できます。NCache for Azure CosmosDBのキャッシュの分散性により、キャッシュを線形にスケーラブルにすることで、極端なトランザクション負荷の下で最適なパフォーマンスが保証されます。

2.高コスト 

Azure Cosmos DBに関しては、コストが主要な要因の1つです。Microsoft Azure Cosmos DBにアクセスしようとするたびに、読み取り専用データの場合でも、コストプランは要求単位に基づいているため、コストがかかります。そのデータがそれほど頻繁に変更されていない場合、それは同じコンテンツですが、探しているデータであるCosmos DBからのマスターソースがまだあります。そのデータについては、Microsoftに行ったり来たりし続ける必要があります。 Azure Cosmos DBは、リクエストユニットの観点から支払う場所であり、コストが増加します。したがって、リクエストの負荷が増えると、コストが高くなります。使用コストが高くなり、特に読み取り専用データの問題になります。

したがって、要求が処理できる負荷に関しては非常にスケーラブルですが、そのシナリオではコストに見合うものにはなりません。したがって、コスト要因にも影響を及ぼします。したがって、スケールアウトの潜在的なハードルになる可能性があります。スケールアウトを計画しているとき。複数のパーティションがあります。データの負荷は増加しますが、それに伴ってコスト要因も増加します。NcacheとComosDBの統合は、頻繁に要求されるデータをNcache分散キャッシングサービスにキャッシュすることで要求ユニットの数を減らすことができるため、コスト要因に関しては非常に便利です。 

デモで次のトピックを見ていきましょう 

  1. CosmosDBを使用したアプリデータのキャッシュ
  2. NCacheをAzureCosmosDBと同期する

CosmosDBを使用したアプリデータ

開始する前に、AzureCosmosDBをNCacheと統合する必要があります。Azureポータルを使用してAzureCosmosDBを作成し、クイックスタートセクションから.NETのサンプルコードをダウンロードしました。

NCacheManagerをインストールします 

NCacheダウンロードセンター(alachisoft.com)からNCacheをダウンロードします。すべての機能を試すことができるように、Enterprisesエディションをインストールすることを強くお勧めします。インストールする前に、.NET6がマシンにインストールされていることを確認してください。 

ダウンロードとインストールのプロセスが完了したら、次の図に示すように、ローカルホスト8251ポートからブラウザでNChaceWebMangerを実行できます。

NCacheManagerアプリケーションからクラスター化されたローカルキャッシュを作成できます。

このデモでは、次の図に示すように、ローカルキャッシュを作成し、NcacheManagerを使用して「myLocalCache」という名前を付けました。

NCahce Web Managerを使用してローカルキャッシュを作成する方法を確認するには、ここをクリックしてください。

Visual StudioでサンプルのcosmosDBクイックスタートソースコードを開き、実行します。次の図に示すように、データベースに新しいアイテムが追加されます。 

NuGetパッケージマネージャーからAlachisoft.NCache.SDKパッケージをインストールします 

アプリケーションを実行する前に、NCacheWebManagerを使用してローカルキャッシュの統計を確認してください。次の図に示すように、カウントはゼロになります。

アプリケーションに以下の関数を追加します。 

private async Task GetFamily(Family family) {
    try {
        string key = $ "Family:FamilyID:{family.Id}";
        Family familyResult = _NCacheClient.Get < Family > (key);
        if (familyResult != null) {
            Console.WriteLine(familyResult.PartitionKey);
        } else {
            var sqlQueryText = "SELECT * FROM c";
            QueryDefinition queryDefinition = new QueryDefinition(sqlQueryText);
            FeedIterator < Family > queryResultSetIterator = this.container.GetItemQueryIterator < Family > (queryDefinition);
            while (queryResultSetIterator.HasMoreResults) {
                FeedResponse < Family > currentResultSet = await queryResultSetIterator.ReadNextAsync();
                foreach(Family familyTemp in currentResultSet) {
                    if (familyTemp.Id == family.Id) {
                        _NCacheClient.Insert(key, familyTemp.ToString());
                        Console.WriteLine("\tRead {0}\n", familyTemp.LastName);
                    }
                }
            }
            Console.WriteLine(familyResult.LastName);
        }
    } catch (Exception ex) {
        //TODO
    }
}

この関数は、キーがキャッシュに存在するかどうかをチェックします。キーがキャッシュで使用可能な場合は、キャッシュを使用してキャッシュからデータをフェッチします。そうでない場合は、cosmosDBからデータをフェッチし、挿入機能を使用してキャッシュに挿入します。 

次に、NCahce統計を確認します。次の図に示すように、カウントが1に増加します。これは、レコードがローカルキャッシュサーバーに挿入されたことを意味します。

次回プログラムを実行すると、キーに基づいてローカルキャッシュサーバーからレコードがフェッチされます。

NCacheとAzureCosmosDBの同期

データが2つの異なる場所に存在する場合、同期は大きな側面です。キャッシュに変更があるたびに、それらの変更もデータベースに適用します。しかし、データがCosmosDBで直接変更された場合はどうなりますか。それは、CosmosDBが別のサービスによって更新される最も自然なシナリオになります。 

CosmosDBで行われた変更がキャッシュに反映されない場合でも、現在、これら2つのソースは同期していません。AzureCosmosDBとNCacheの間に何らかの同期メカニズムが必要です。

NCacheをAzureCosmosDBと同期する方法は2つあります 

  1. CosmosDBトリガーを使用したAzure関数
    • 暗黙の変更フィード処理
    • 挿入と更新および削除操作の同期
  2. カスタム変更フィードプロセッサ
    • IChangeFeedObserverインターフェイスを明示的に実装する
    • 同期挿入、更新、および削除操作

CosmosDBトリガーを使用したAzure関数

Azure関数を使用すると、ComosDBの変更をキャッシュに同期するのは非常に簡単です。

VisualStudioとCosmosDBトリガーを使用してAzure関数を作成します

CosmosDB接続文字列をAzureポータルから接続文字列設定名にコピーします。

Function1.csファイルのコードを以下のコードに置き換えます。

[FunctionName("Function1")]
public static void Run([CosmosDBTrigger(databaseName: "ToDoList", collectionName: "Items", ConnectionStringSetting = "<Your CosmosDB Connection string>", LeaseCollectionName = "leases")] IReadOnlyList < Document > input, ILogger log) {
    try {
        if (input != null && input.Count > 0) {
            Family family = null;
            using(var cache = CacheManager.GetCache("myLocalCache")) {
                foreach(var document in input) {
                    family = new Family {
                        LastName = document.GetPropertyValue < string > ("LastName"),
                            Id = document.GetPropertyValue < string > ("Id")
                    };
                    cache.InsertAsync(family.Id, family);
                }
            }
        }
    } catch (Exception ex) {
        //ToDo
    }
}

azure関数を実行し、AzureポータルでcosmosDBに移動して、コレクションを変更します。私の場合、ファミリーコレクションからLastNameを更新しました。コレクションを更新すると、CosmosDBがazure関数をトリガーし、更新されたコレクションをに挿入します。 InsertAsync関数を使用したキャッシュ。

キャッシュ統計に移動し、カウントを確認します。 

これは、Azure関数を使用してCosmosDBをNcacheと同期する方法を示すサンプルにすぎません。更新だけでなく、CosmosDBでコレクションの追加または削除をキャプチャして、キャッシュサーバーと同期することができます。ComosDBではハード削除はサポートされていませんが、ソフト削除を行うための回避策があります。次の記事で、コレクションの削除と追加をキャッシュと同期する方法について詳しく説明します。 

概要

NCacheとは何か、そしてそれをCosmosDBと統合してデータをキャッシュする方法を見てきました。その後、CosmosDBトリガーを使用したAzure関数を使用して、NCacheサーバーとのCosmosDB同期のデモを行いました。次の記事では、カスタム変更フィードプロセッサでNCacheを使用してキャッシュされたデータをCosmosDBと同期する方法について詳しく説明します。

GitHubで完全なソースコードを入手する

このストーリーは、もともとhttps://www.c-sharpcorner.com/article/sync-cached-data-with-cosmos-db-using-ncache/で公開されました

#cosmosdb #ncache 

Ncacheを使用してキャッシュされたデータをCosmosDBと同期する