我们在Azure中运行Web应用程序。由于联邦合规性规定,我们需要在每次有人更改我们软件中的设置时创建记录。
这些日志可能很庞大,因此我们不想为SQL服务器数据库支付大量资金。它们也只会在日期范围内查询,因此我们不需要花哨的RDBMS功能,甚至不需要NoSQL功能。
什么是存储数据的最佳选择?在平面文件?例如,将每个文件分成一个名为<account_id>_<month>_<sequence_num>.txt
的文件并将其全部填入其中?我知道你不应该推出自己的数据库,但这是一个优化。在大型CosmosDB JSON文件中?
我只是想了解那里流行的智慧是什么样的,如果有任何现成的组件,我应该考虑使用。
答案 0 :(得分:3)
您可以将其存储在Azure Blob存储上的json文件中。有几个层可供选择,一个是Archive,可以选择。或冷等级。
它是cheapest数据存储之一。可以使用Azure Storage Explorer进行探索。
您可以使用一系列工具访问数据,包括但不限于Power Bi,Excel,Azure Data Lake Analytics等。
对于(罕见?)场合,您需要查询数据,您可以使用Azure Data Lake Analytics编写an u-sql作业。
我们以这种方式存储数TB的非结构化应用程序日志数据,并使用u-sql进行分析。
答案 1 :(得分:0)
您可以使用Cosmosdb。在我们的一个应用程序中,我们将它用于同一目的。
您可以创建名为“ActivityLog”的集合,并将您的条目添加到同一个集合中。您可以为所需的不同条目添加字段,并相应地对其进行排序。