Можно ли обновить строки в Azure Обозреватель данных?
Является ли это хорошим выбором для хранения больших запасов (100 млн. Единиц), которые часто обновляются или в большинстве случаев оптимизированы для сценария данных только для добавления ios? Мой репозиторий обновляется круглосуточно, и мне нужно, чтобы изменения были видны немедленно (почти в реальном времени).
Предполагается, что мне нужен полнотекстовый поиск, фасетирование и базовые c запросы / поиск элементов и почти в режиме реального времени обновления (которые поступают круглосуточно). как это сравнить с ElasticSearch? Предполагая, что я использую оба как управляемый сервис. Меня больше всего беспокоит часть обновлений.
Если мы говорим о маленькой таблице, вы можете обновить записи в Kusto, используя эту технику:
.ingest inline into table temp_ABC <| 01,John,Doe,21 02,Jim,Brown,23 .set-or-replace ABC <| temp_ABC .drop table temp_ABC
Обновление отдельных записей невозможно. У вас есть возможность обновлять данные в пакетном режиме, помечая их во время приема и используя команды уровня шарда (такие как .replace extents ), когда вам нужно выполнить ' update '.
Хотя это, возможно, не «естественный» выбор, теоретически вы все равно можете этого добиться, приняв новую запись для каждого обновления и используя arg_max () , чтобы всегда получать последнюю версию для каждого элемента.
Полное и содержательное сравнение не является однострочным (слишком много соображений для перечисления), а в большинстве случаев - результатом такое сравнение будет очень точно c для вашего варианта использования, бюджета, личных предпочтений, требований к производительности и т. д. c. При этом все перечисленные функции поддерживаются ADX / Kusto.