我想在亚马逊的DynamoDb数据库中存储1M +不同的时间序列.每个时间序列将有大约50K数据点.数据点由时间戳和值组成.
应用程序将频繁地(始终)向时间序列添加新数据点,并将不时检索(通常是整个时间序列)时间序列,以进行分析.
我该如何构建数据库?我应该为每个时间序列创建一个单独的表吗?或者我应该将所有数据点放在一个表中?
下面您可以看到counter
Java类中的静态变量.
问题是这个变量何时复位?例如,当我重新启动程序时,计算机.它可以重置的其他可能情况是什么?
另一个问题是:这个变量增加的次数可能少于执行函数do()的次数?例如,它可能是启动类的多个进程的东西java Whatever
吗?或者它可能是多线程/服务器等?
class Whatever {
static int counter = 0;
function do() {
counter++;
//...
}
}
Run Code Online (Sandbox Code Playgroud)
附加问题:如果多个线程执行函数do(),计数器变量将如何表现?它将少于函数do()执行的次数?
假设我将数据缓存在PHP数组中的PHP文件中,如下所示:
/cache.php
<?php return (object) array(
'key' => 'value',
);
Run Code Online (Sandbox Code Playgroud)
我包括这样的缓存文件:
<?php
$cache = include 'cache.php';
Run Code Online (Sandbox Code Playgroud)
现在,问题是APC会在内存中自动缓存缓存文件吗?我的意思是作为典型的操作码缓存,就像所有.php文件一样.
如果我以不同方式存储数据,例如以JSON格式(cache.json),APC将不会自动缓存数据?
会apc_store
更快/更好吗?