1659534134
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.
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.
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.
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.
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.
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.
Đă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.
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.
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.
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.
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.
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.
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.
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.
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á.
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ớ.
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 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.
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.
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.
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ữ.
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.
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.
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 .
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ô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ớ.
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.
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 .
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ạ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.
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.
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.
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.
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 .
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.
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.
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ữ…
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ữ.
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
1659526884
В этой статье объясняется, как выполнять различные действия для Azure Cosmos DB с помощью обозревателя хранилища Azure. Обозреватель хранилища — это очень полезная настольная утилита, которая помогает администраторам управлять хранилищем Azure без доступа к порталу Azure. Мы также можем подключаться к учетным записям Azure Cosmos DB с помощью этого инструмента, но в будущем эта функция станет устаревшей. На данный момент он поддерживается, поэтому я решил изучить его для деятельности Cosmos DB.
Azure Cosmos DB — это полностью управляемая служба базы данных NoSQL в облаке Azure, распределенная по всему миру и подходящая для разработки современных приложений. Это более быстрая, легко масштабируемая, высокодоступная и безопасная служба базы данных.
В этом разделе я покажу вам различные действия с Cosmos DB с помощью проводника хранилища. Позвольте мне начать с подключения к учетной записи Azure, чтобы увидеть учетные записи Cosmos DB, если они уже созданы в вашей учетной записи Azure.
Запустите обозреватель хранилища Azure на рабочем столе. Нажмите на вкладку « Вид », чтобы отобразить список параметров. Выберите «Управление учетной записью» , чтобы выбрать свою учетную запись Azure.
Экран ниже появится после того, как вы нажмете « Управление учетной записью » на экране выше. Я выбрал желаемую подписку на изображении ниже, установив соответствующий флажок. Теперь щелкните вкладку « Открыть проводник », где под флажком учетной записи Azure установлен флажок.
Вы можете видеть, что подписка отображается в проводнике ниже. Разверните параметр «Учетные записи Cosmos DB », показывающий недостаточно подключенную подписку. У нас нет учетной записи Cosmos DB в рамках этой подписки, поэтому в этой опции не отображаются никакие подробности. Поддержка учетных записей Cosmos DB с использованием обозревателя хранилища Azure будет прекращена в будущих версиях, поэтому вы можете видеть, что помимо параметра учетных записей Cosmos DB отображается устаревшее.
В этом разделе я показал вам, как подключиться к учетной записи Azure, чтобы увидеть подключенные учетные записи Cosmos DB в обозревателе хранилища Azure. Далее давайте создадим учетную запись Cosmos DB на портале Azure и подключим ее к обозревателю хранилища для выполнения различных действий.
Войдите на портал Azure. Введите Azure Cosmos DB в строке поиска, чтобы отобразить эту службу. Приведенная ниже страница отобразится, как только вы нажмете на опцию Cosmos DB. Все учетные записи Cosmos DB будут отображаться на этой странице. Поскольку мы еще не подготовили базу данных Cosmos, поэтому на изображении ниже не показаны какие-либо подробности. Давайте продолжим и сначала создадим учетную запись Cosmos DB.
Щелкните параметр + Создать под заголовком Azure Cosmos DB или щелкните вкладку Создать учетную запись Azure Cosmos DB в центре изображения ниже.
На следующем экране появится выбор API в соответствии с нашей рабочей нагрузкой. Я выбрал рекомендуемое API Core (SQL) из изображения ниже и нажал кнопку « Создать », указанную для этой опции.
Ниже появится экран под названием «Создать учетную запись Azure Cosmos DB — Core (SQL) » для заполнения всех необходимых сведений для создания учетной записи Cosmos DB. Если вы выберете API, отличный от Core SQL, вы получите аналогичную форму для этого API для создания учетной записи Cosmos DB.
Поскольку мне нужно продемонстрировать это в проводнике хранилища, я оставил все настройки по умолчанию такими, какие они есть.
После того, как вы ввели все данные на всех вкладках, показанных на изображении выше, нажмите кнопку « Проверить + создать» , чтобы начать процесс проверки. Вы можете видеть, что проверка прошла успешно на изображении ниже. Теперь нажмите кнопку « Создать » , чтобы продолжить.
Развертывание создания учетной записи Azure Cosmos DB начнется после того, как вы нажмете кнопку создания на изображении выше. После завершения развертывания вы увидите показанный ниже экран. Нажмите на вкладку «Перейти к ресурсу », чтобы перейти к учетной записи Cosmos DB.
Давайте продолжим и подключимся к этой учетной записи Cosmos DB с помощью обозревателя хранилища Azure в следующем разделе.
Существует 2 способа подключения к учетной записи Azure Cosmos DB с помощью обозревателя хранилища. Один из них использует учетную запись Azure, с помощью которой мы подключили и расширили учетную запись Cosmos DB в первом разделе, другой способ — напрямую подключиться к учетной записи Cosmos DB без подключения к учетной записи Azure. Позвольте мне показать вам первый вариант на изображении ниже. Ниже экрана находится реплика третьего изображения, показывающего выше, где мы подключились к учетной записи Azure, но не было учетной записи Cosmos DB. Теперь мы нажмем ссылку « Обновить все » , выделенную на изображении ниже. Как только вы обновите его, вновь созданная учетная запись Cosmos DB начнет появляться в соответствующем разделе на изображении ниже.
Второй вариант — напрямую подключиться к учетной записи Azure Cosmos DB, не подключаясь ко всей учетной записи Azure. Вам потребуется ОСНОВНАЯ СТРОКА ПОДКЛЮЧЕНИЯ вновь созданной учетной записи Azure Cosmos DB или любой существующей учетной записи Cosmos DB, которую вы хотите подключить к обозревателю хранилища. Вам необходимо открыть вкладку « Ключи », указанную в разделе « Настройки учетной записи Cosmos DB», чтобы получить основную строку подключения через портал Azure.
На изображении ниже показаны сведения о вкладке ключей для отображения всех строк подключения. Щелкните значок копирования, указанный в темно-красном прямоугольнике на правой боковой панели.
Теперь вернитесь в обозреватель хранилища Azure и удалите все подключенные учетные записи Azure, как показано на изображении ниже, где мы видим, что ни одна учетная запись Azure не подключена. Теперь нажмите « Открыть проводник » , чтобы открыть вид проводника.
Здесь вы можете увидеть параметр «Учетные записи Cosmos DB», как показано на изображении ниже. Щелкните правой кнопкой мыши этот параметр и выберите «Подключиться к Cosmos DB…», чтобы открыть окно, в котором мы будем вводить основную строку подключения для нашей недавно созданной учетной записи Cosmos DB, чтобы установить соединение с помощью проводника хранилища.
Появится показанный ниже экран для ввода строки подключения. Основная строка подключения будет введена в поле ввода Строка подключения .
Введите скопированную строку подключения из предыдущего шага в поле строки подключения . Метка учетной записи будет автоматически распознана и отображена после ввода скопированной строки подключения. Вы можете видеть это на изображении ниже, я не ввел метку учетной записи, она уже заполнена после ввода строки подключения. Теперь нажмите кнопку « Далее » на изображении ниже.
Появится экран « Сводка » для проверки сведений о подключении, и, если все выглядит нормально, нажмите кнопку « Подключиться », указанную в нижней части изображения ниже.
Теперь мы можем увидеть нашу недавно созданную учетную запись Cosmos DB Cosmosdb19oct2021 в обозревателе хранилища Azure. Если он вам не виден, нажмите ссылку « Обновить все » , показанную на изображении ниже.
Мы успешно подключились к учетной записи Azure Cosmos DB с помощью обозревателя хранилища Azure на изображении выше. Теперь я покажу вам различные действия на уровне базы данных, которые мы можем выполнять с учетной записью Cosmos DB с помощью проводника хранилища.
Мы создали учетную запись Cosmos DB и подключили ее к проводнику хранилища. Теперь давайте рассмотрим все варианты, которые мы можем выполнить с этой учетной записью Cosmos DB с помощью обозревателя хранилища Azure. Щелкните правой кнопкой мыши подключенную учетную запись базы данных, чтобы получить список действий, которые мы можем выполнять на уровне учетной записи Cosmos DB, и список таких действий можно увидеть на изображении ниже.
Позвольте мне показать вам, как создать базу данных в этой учетной записи Cosmos DB. Нажмите на опцию « Создать базу данных » на изображении выше, вы получите текстовое поле ниже, чтобы ввести имя базы данных.
Введите имя базы данных и нажмите Enter, чтобы создать ее. Вы можете видеть, что база данных mdscosmosDB была создана под учетной записью Cosmos DB Cosmosdb19oct2021 .
В этом разделе мы создали базу данных в учетной записи Cosmos DB. Теперь мы выполним действия на уровне базы данных в следующем разделе.
Я предполагаю, что у вас уже есть учетная запись Cosmos DB и база данных. Вы подключились к учетной записи Cosmos DB с помощью обозревателя хранилища, как показано на рисунке ниже. Теперь мы рассмотрим все действия, которые можно выполнить для базы данных, созданной в учетной записи Cosmos DB.
Разверните имя подключенной учетной записи Cosmos DB и щелкните правой кнопкой мыши имя базы данных, отображаемое в дереве учетной записи Cosmos DB. Вы можете увидеть список действий, которые мы можем выполнить с этой базой данных с помощью обозревателя хранилища.
Позвольте мне показать вам, как создать коллекцию в этой базе данных. Нажмите « Создать коллекцию… », показанную на изображении выше. Вы окажетесь ниже окна, чтобы ввести идентификатор коллекции и определить емкость хранилища для коллекции.
Введите данные, необходимые для продолжения создания коллекции. Я ввел их, как показано на изображении ниже, и нажал кнопку « ОК » .
Вы можете видеть, что коллекция создается в базе данных на изображении ниже. Под деревом коллекции отображается список объектов, таких как документы, хранимые процедуры, триггеры, пользовательские функции.
Вы можете продолжить и протестировать другие действия, которые мы можем выполнять на уровне базы данных. Если вы хотите удалить эту базу данных, вы можете выбрать эту опцию из списка, который появился после щелчка правой кнопкой мыши на имени базы данных. Убедитесь, что у вас есть резервная копия на случай, если вам понадобятся эти данные в будущем.
Теперь вы можете добавить документ в созданную выше коллекцию. Щелкните параметр «Документы», отображаемый на левой боковой панели изображения ниже под только что созданной коллекцией. Вы получите проводник сведений о документе на правой панели. Нажмите на опцию «Новый документ», показанную в верхней части изображения.
Ниже появится экран с шаблоном формата JSON для создания документа. Здесь вы можете ввести идентификационный номер и другие поля и их данные, которые вы хотите добавить в этот документ, и нажать кнопку « Сохранить », чтобы сохранить этот документ.
Я создал документ с данными поля JSON ниже и нажал кнопку «Сохранить», чтобы сохранить его. Если вы нажмете кнопку « Сохранить », несколько сгенерированных системой полей будут автоматически добавлены в приведенный ниже JSON.
Взгляните на изображение ниже, здесь я добавил поле « Теги », но оставшееся поле добавляется после нажатия кнопки « Сохранить ».
Точно так же вы можете создать несколько документов, щелкнув параметр « Новый документ », и после их сохранения он будет выглядеть так, как показано на рисунке ниже.
Если вы хотите удалить какой-либо документ, вы можете выбрать соответствующий идентификатор документа в столбце идентификатора и нажать кнопку « Удалить » , указанную на панели ленты.
Мы также можем выполнять другие действия, например, мы можем создать новую хранимую процедуру, щелкнув правой кнопкой мыши эту опцию и выбрав « Создать хранимую процедуру»…
После того, как вы нажмете на указанную выше опцию, вам будет предложено ввести ее имя, и как только вы нажмете ввод, на экране ниже появится пример хранимой процедуры на правой боковой панели имени хранимой процедуры.
Обозреватель хранилища 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
1659512425
本文將介紹如何使用 Azure 存儲資源管理器為 Azure cosmos DB 執行各種活動。存儲資源管理器是一個非常有用的桌面實用程序,可幫助管理員在不訪問 Azure 門戶的情況下管理 Azure 存儲。我們還可以使用此工具連接到 Azure Cosmos DB 帳戶,但將來會棄用此功能。到目前為止,它已受支持,因此我決定在 cosmos DB 活動中探索它。
Azure Cosmos DB 是 Azure 雲中完全託管的 NoSQL 數據庫服務,分佈於全球,適合現代應用程序開發。它是一種速度更快、易於擴展、高度可用且安全的數據庫服務。
在本節中,我將向您展示使用存儲資源管理器的各種 cosmos DB 活動。讓我先連接到 Azure 帳戶以查看 cosmos DB 帳戶(如果它們已在您的 Azure 帳戶上創建)。
在桌面上啟動 Azure 存儲資源管理器。單擊查看選項卡以顯示選項列表。選擇帳戶管理以選擇您的 Azure 帳戶。
一旦您點擊上面屏幕上的賬戶管理,就會出現下面的屏幕。我已通過單擊各自的複選框從下圖中選擇了我想要的訂閱。現在,單擊顯示在 Azure 帳戶複選框下方的“打開資源管理器”選項卡。
您可以看到訂閱顯示在下面的資源管理器中。展開Cosmos DB 帳戶選項,顯示連接不足的訂閱。我們在此訂閱下沒有任何 cosmos DB 帳戶,因此它不會在此選項下顯示任何詳細信息。使用 Azure 存儲資源管理器對 cosmos DB 帳戶的支持將在未來的版本中被棄用,這就是為什麼你可以看到除了 cosmos DB 帳戶選項之外還顯示 deprecated 的原因。
在本節中,我向您展示瞭如何連接到 Azure 帳戶以在 Azure 存儲資源管理器中查看已連接的 Cosmos DB 帳戶。接下來,讓我們在 Azure 門戶上創建一個 cosmos DB 帳戶並將其連接到存儲資源管理器以執行各種活動。
登錄到 Azure 門戶。在搜索欄中鍵入Azure Cosmos DB以顯示此服務。單擊 cosmos DB 選項後,將顯示以下頁面。所有 cosmos DB 帳戶都將顯示在此頁面上。由於我們尚未配置 cosmos DB,因此下圖中未顯示任何詳細信息。讓我們先創建一個 cosmos DB 帳戶。
單擊Azure Cosmos DB 標題下方給出的+ 創建選項,或單擊下圖中心給出的創建 Azure Cosmos DB 帳戶選項卡。
下一個屏幕將根據我們的工作負載選擇 API。我從下圖中選擇了推薦的 API Core (SQL),並點擊了為此選項提供的創建按鈕。
在名為Create Azure Cosmos DB Account -Core (SQL)的屏幕下方將顯示創建 Cosmos DB 帳戶所需的所有詳細信息。如果您選擇與 Core SQL 不同的 API,那麼您將獲得該 API 的類似表單以創建 Cosmos DB 帳戶。
因為我必須在存儲資源管理器中演示它,所以我保留了所有默認設置。
在上圖中顯示的所有選項卡上輸入所有詳細信息後,然後點擊Review + create按鈕開始驗證過程。您可以在下圖中看到驗證成功。現在單擊創建按鈕繼續。
單擊上圖的創建按鈕後,將開始處理 Azure cosmos DB 帳戶創建的部署。部署完成後,您將看到以下屏幕。單擊轉到資源選項卡跳轉到 cosmos DB 帳戶。
讓我們繼續在下一節中使用 Azure 存儲資源管理器連接到此 cosmos DB 帳戶。
有兩種方法可以使用存儲資源管理器連接到 Azure Cosmos DB 帳戶。一種是使用 Azure 賬戶,我們在第一節中已經通過它連接和擴展了 Cosmos DB 賬戶,另一種方式是直接連接到 cosmos DB 賬戶,而不連接到 Azure 賬戶。讓我向您展示下圖中的第一個選項。屏幕下方是上面顯示的第三張圖片的副本,我們已連接到 Azure 帳戶,但沒有 cosmos DB 帳戶。現在我們將單擊下圖中突出顯示的全部刷新鏈接。刷新後,新創建的 cosmos DB 帳戶將開始出現在下圖中的其部分下方。
第二種選擇是直接連接到 Azure Cosmos DB 帳戶,而不連接到整個 Azure 帳戶。您需要新創建的 Azure cosmos DB 帳戶或要連接到存儲資源管理器的任何現有 cosmos DB 帳戶的PRIMARY CONNECTION STRING 。您需要訪問cosmos DB 帳戶設置下提供的“密鑰”選項卡,以通過 Azure 門戶獲取主連接字符串。
下圖顯示了鍵選項卡詳細信息以顯示所有連接字符串。單擊右側窗格中深紅色矩形中給出的複製圖標。
現在,回到 Azure 存儲資源管理器並刪除所有連接的 Azure 帳戶,如下圖所示,我們可以看到沒有連接任何 Azure 帳戶。現在,單擊打開資源管理器以獲取資源管理器視圖。
在這裡,您可以看到 Cosmos DB 帳戶選項,如下圖所示。右鍵單擊此選項並單擊 Connect to Cosmos DB... 以獲取窗口,我們將在其中輸入新創建的 cosmos DB 帳戶的主要連接字符串,以使用存儲資源管理器建立連接。
將出現以下屏幕以輸入連接字符串。主連接字符串將在連接字符串輸入框中輸入。
在連接字符串框中輸入上一步複製的連接字符串,輸入複製的連接字符串後,將自動識別並顯示帳戶標籤。您可以在下圖中看到它,我沒有輸入 Account 標籤,它已經填寫了輸入連接字符串的帖子。現在,單擊下圖的下一步按鈕。
將出現一個摘要屏幕以驗證連接詳細信息,如果一切正常,則點擊下圖底部給出的連接按鈕。
現在,我們可以在 Azure 存儲資源管理器中看到我們新創建的 cosmos DB 帳戶cosmosdb19oct2021。如果您看不到它,請單擊下圖中顯示的全部刷新鏈接。
在上圖中,我們已使用 Azure 存儲資源管理器成功連接到 Azure Cosmos DB 帳戶。現在,我將向您展示我們可以使用存儲資源管理器對 cosmos DB 帳戶執行的各種數據庫級活動。
我們創建了一個 cosmos DB 帳戶並將其連接到存儲資源管理器。現在,讓我們探索我們可以使用 Azure 存儲資源管理器在此 cosmos DB 帳戶上執行的所有選項。右鍵單擊已連接的數據庫帳戶以獲取我們可以在 cosmos DB 帳戶級別執行的活動列表,此類活動的列表如下圖所示。
讓我向您展示如何在這個 cosmos DB 帳戶中創建數據庫。單擊上圖中的創建數據庫選項,您將看到下面的文本框以輸入數據庫的名稱。
輸入數據庫的名稱,然後按回車鍵創建它。您可以看到數據庫mdscosmosDB已在 cosmos DB 帳戶cosmosdb19oct2021下創建。
在本節中,我們在 cosmos DB 帳戶中創建了一個數據庫。現在,我們將在下一節中執行數據庫級別的活動。
我假設您已經有一個 cosmos DB 帳戶和一個數據庫。您已使用存儲資源管理器連接到 cosmos DB 帳戶,如下圖所示。現在,我們將探索可以為在 cosmos DB 帳戶中創建的數據庫執行的所有活動。
展開已連接的 cosmos DB 帳戶名稱,然後右鍵單擊 cosmos DB 帳戶樹中顯示的數據庫名稱。您可以使用存儲資源管理器查看我們可以對此數據庫執行的活動列表。
讓我向您展示如何在這個數據庫中創建一個集合。單擊上圖中顯示的創建集合...選項。您將在窗口下方輸入集合 ID 並定義集合的存儲容量。
輸入繼續創建集合所需的詳細信息。我已輸入它們,如下圖所示,然後單擊“確定”按鈕。
您可以在下圖中看到該集合是在數據庫中創建的。對象列表顯示在集合樹下,如文檔、存儲過程、觸發器、用戶定義的函數。
您可以繼續測試我們可以在數據庫級別執行的其他活動。如果要刪除此數據庫,則可以從右鍵單擊數據庫名稱後出現的列表中選擇此選項。確保您有一個備份,以防您將來需要這些數據。
現在,您可以繼續將文檔添加到上面創建的集合中。單擊新創建的集合下下圖左側窗格中顯示的“文檔”選項。您將在右側窗格中獲得文檔詳細信息資源管理器。單擊圖像頂部顯示的“新建文檔”選項。
下面帶有 JSON 格式模板的屏幕將創建一個文檔。在這裡,您可以輸入要添加到此文檔的 ID 號和其他字段及其詳細信息,然後單擊“保存”按鈕以保存此文檔。
我創建了一個包含以下 JSON 字段詳細信息的文檔,然後單擊保存按鈕進行存儲。如果單擊“保存”按鈕,系統會自動將一些系統生成的字段添加到下面的 JSON 中。
看看下面的圖片,這裡我已經添加到標籤字段,但剩餘的字段是在單擊保存按鈕後添加的。
同樣,您可以通過單擊“新建文檔”選項創建多個文檔,一旦保存它們,它將如下圖所示。
如果要刪除任何文檔,則可以從 ID 列中選擇相應的文檔 ID,然後點擊功能區欄中的刪除按鈕。
我們還可以執行其他活動,例如我們可以通過右鍵單擊此選項並選擇創建存儲過程來創建新的存儲過程...
一旦你點擊上面的選項,它會要求你輸入它的名字,一旦你按下回車鍵,下面的屏幕就會在存儲過程名稱的右側窗格中出現一個示例存儲過程。
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
1659505200
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é.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Continuons et connectons-nous à ce compte cosmos DB à l'aide de l'explorateur de stockage Azure dans la section suivante.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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 .
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.
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.
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.
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 .
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.
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.
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.
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.
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.
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 .
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.
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.
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…
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.
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
1659497862
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
1656174780
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.
1656001320
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.
1655983920
¿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:
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.
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
1655983860
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 :
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.
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
1655983740
最近、アプリケーションの開発またはMicrosoft Azureへの移植を開始しましたか?もしそうなら、おそらくあなたが決定しなければならないことの1つは、使用したいデータベースソリューションです。Microsoftクラウドには複数のオプションがあり、最も人気のある2つはAzure SQLデータベース(およびその2つの兄弟、AzureSQLマネージドインスタンスとAzureVM上のSQLServer)とAzureCosmosDBです。
最近、私は自分のアプリケーションでこれら2つの選択肢を比較していました。私は読者と共有したいいくつかの洞察を得ました。まず、両方の製品を別々に見て、それらが提供する機能を確認しましょう。
AzureSQLデータベース
Azure SQLは、Azureで提供されるMicrosoftのSQLServerです。AzureSQLに関連する3つのサービスから選択できます。
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のポイント読み取りのコストです。それに応じて、クエリはより高価になります。リクエストユニットは十分に単純に見えますが、事前の経験がなければ、特定のデータアクセスパターンを考慮して使用量を見積もることは困難です。
長所と短所
両方の解決策を説明したので、どちらが自分に最も適しているかを尋ねることができますか?両方のデータベースの長所と短所について説明しましょう。
結論
どちらの製品も、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
1655983500
您最近是否开始开发或将应用程序移植到 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 数据库是三者中最“托管”的服务。它是一种 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 生态系统中占有一席之地。虽然 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
1655983320
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:
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.
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
1655983080
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 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.
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
1655723400
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
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.
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.
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
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.
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.
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
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.
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/
1655723063
Azure Cosmos DBは、完全に管理され、グローバルに分散されたマルチモデルのクラウドベースのNoSQLデータベースサービスです。展開が簡単で、Microsoftの包括的なサービスレベルアグリーメント(SLA)があるため、完全に管理されています。柔軟なJSON形式をサポートしているため、非構造化データとJSONデータをサポートし、非常に少ないコードでデータを簡単に保存できます。
CosmosDBの一般的なユースケース
NCacheを使用してCosmosDBのパフォーマンスをさらに強化またはスケールアップできます。NCacheは、.NET、Java、およびNode.js用のオープンソースのメモリ内分散キャッシュです。NCacheは非常に高速で線形にスケーラブルであり、アプリケーションデータをキャッシュして、コストのかかるデータベーストリップを削減します。
NCacheはアプリケーションの近くにあるため、アクセスがはるかに高速です。
この記事では、NCacheを使用して分散キャッシュをAzure Cosmos DBアプリケーションに統合し、Azure関数を使用してAzureCosmosDBとNCache間のデータ同期を行う方法を学習します。
Microsoft Azureは、Cosmos DBがミリ秒の応答時間を提供すると主張しています。ソリューションが1秒からミリ秒、ミリ秒からサブミリ秒の応答時間を短縮するとしたらどうでしょうか。NCacheをCosmosDBに組み込むことで可能になります。
ComosDBはホストされたサービスであるため、独自のサブスクリプションでVNET全体に渡ります。これにより、レイテンシの部分が増加し、特に高いトランザクション/負荷の下でcosmosDBのパフォーマンスが低下します。大量のリクエストが届き、そのデータを迅速に処理する必要がある場合。VNETを介したアクセスは非常に遅く、トラフィックが多い場合はオンプレミスアプリからアクセスすることを検討してください。ここで、NCacheなどの分散キャッシュが登場します。頻繁にアクセスされるデータをキャッシュして、応答時間を改善できます。NCache for Azure CosmosDBのキャッシュの分散性により、キャッシュを線形にスケーラブルにすることで、極端なトランザクション負荷の下で最適なパフォーマンスが保証されます。
Azure Cosmos DBに関しては、コストが主要な要因の1つです。Microsoft Azure Cosmos DBにアクセスしようとするたびに、読み取り専用データの場合でも、コストプランは要求単位に基づいているため、コストがかかります。そのデータがそれほど頻繁に変更されていない場合、それは同じコンテンツですが、探しているデータであるCosmos DBからのマスターソースがまだあります。そのデータについては、Microsoftに行ったり来たりし続ける必要があります。 Azure Cosmos DBは、リクエストユニットの観点から支払う場所であり、コストが増加します。したがって、リクエストの負荷が増えると、コストが高くなります。使用コストが高くなり、特に読み取り専用データの問題になります。
したがって、要求が処理できる負荷に関しては非常にスケーラブルですが、そのシナリオではコストに見合うものにはなりません。したがって、コスト要因にも影響を及ぼします。したがって、スケールアウトの潜在的なハードルになる可能性があります。スケールアウトを計画しているとき。複数のパーティションがあります。データの負荷は増加しますが、それに伴ってコスト要因も増加します。NcacheとComosDBの統合は、頻繁に要求されるデータをNcache分散キャッシングサービスにキャッシュすることで要求ユニットの数を減らすことができるため、コスト要因に関しては非常に便利です。
デモで次のトピックを見ていきましょう
開始する前に、AzureCosmosDBをNCacheと統合する必要があります。Azureポータルを使用してAzureCosmosDBを作成し、クイックスタートセクションから.NETのサンプルコードをダウンロードしました。
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に増加します。これは、レコードがローカルキャッシュサーバーに挿入されたことを意味します。
次回プログラムを実行すると、キーに基づいてローカルキャッシュサーバーからレコードがフェッチされます。
データが2つの異なる場所に存在する場合、同期は大きな側面です。キャッシュに変更があるたびに、それらの変更もデータベースに適用します。しかし、データがCosmosDBで直接変更された場合はどうなりますか。それは、CosmosDBが別のサービスによって更新される最も自然なシナリオになります。
CosmosDBで行われた変更がキャッシュに反映されない場合でも、現在、これら2つのソースは同期していません。AzureCosmosDBとNCacheの間に何らかの同期メカニズムが必要です。
NCacheをAzureCosmosDBと同期する方法は2つあります
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/で公開されました