我的应用程序需要一个键值存储。以下是有关关键值的一些详细信息:
1) Number of keys (data type: string) can either be 256, 1024 or 4096.
2) Data type of values against each key is a list of integers.
3) The list of integers (value) against each key can vary in size
4) The largest size of the value can be around 10,000,000 intege
我有一个基于当前记录时间戳的MM/YYYY格式的分区键设置。在保存记录时,我还有一个PreTrigger来更新这个值:
function validate() {
var context = getContext();
var request = context.getRequest();
var document = request.getBody();
var now = new Date(),
document.PartitionKey = ("0" + (now.getMonth() + 1)).slice(-2) +
我有一个数据库支持的应用程序,遗憾的是,它的数据库测试很少。我正在努力加快有效测试数据库的速度。
到目前为止,我已经了解到:
测试应用程序将/获取数据放到数据库的能力使用模拟DB测试对象/关系映射代码
我仍然在努力实现第一点,似乎是测试的唯一方法,那就是将数据插入到实际的表中。当然,用户不希望看到我的测试数据。下面是我目前在伪代码中所做的工作:
begin a transaction
insert a few rows
check that no error has occurred
'select' the rows back out
check that no error
我正在将一些代码从VB6转换为VB.Net,其中包含以下几个实例:
Private m_myobj As ObjectContext
m_myobj = GetObjectContext()
' do stuff, then
m_myobj.SetAbort()
' or
m_myobj.SetComplete()
借助于包含对System.Data、System.Data.Entity和Imports System.Data.Object的引用,我设法使声明得以编译,但其他人到目前为止都拒绝这样做。显示的错误包括:-
'GetObjectContext' i
最初的任务可以这样描述:我需要删除庞大的列表(可能有数十亿个项目),而不存储原始项目--这简直是负担不起的
我只需要知道一个问题的答案:“我的系统以前见过这个元素吗?”
到目前为止,我所能找到的最接近的数据结构是一个布卢姆过滤器,但是它有假阳性,这在我的任务中最好避免,因为它会导致数据丢失。
例如,提供i帐户来存储至少2^32项,并且肯定错误率仅为1% (这意味着我需要至少访问所有urls的1%)。
n = 4,294,967,296, p = 0.01 (1 in 100) → m = 41,167,512,262 (4.79GB), k = 7
4.79GB内存..。
任务本身是一个高规模