V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  vvtf  ›  全部回复第 2 页 / 共 2 页
回复总数  25
1  2  
2022-07-14 10:23:40 +08:00
回复了 SilenceLL 创建的主题 程序员 请教一下此场景下的数据如何存储和计算
我觉得修改历史数据不能直接修改那一刻的数据, 而是根据一个算法在最后增加一个和当前逻辑一样的变更数据;
就如 git 一样;
比如以前的数据是:
时间 /对象 /操作(依赖上一条)/结果
220701/A/+1/1
220702/A/+1/2
220703/A/-3/-1

那么现在是需要把
220701/A/+1/1
这一条数据改成
220701/A/+2/2
其实可以理解成是增加了 1
可以在后面增加一个
220704/A/+1/0
因为最后的节点是
220703/A/-3/-1
所有算出来结构是+1/0

大概思路是这样, 比如要聚合的话也可以做到;
这样做的好处历史可追溯;且不可变;
坏处是需要看业务需求是否满足;
比如我在 220704 查询 220702 的数据, 是返回 2, 还是返回 3,(+1).

如上.
**后续还需要根据这 N 个字符串快速得到位置**
这句话看不懂, 找到位置有啥意义? 位置放的也是字符串....
不过你的字面需求可以用一下代码试试:

int index = 0;
map<string, int> map;
string[] arr;
for ( str : strings) {
string key = md5(str);
int val = map.putIfAbsent(key, index);
if (null != val) {
continue;
}
arr[index ++] = str;
}


// get index by string
return map.get(md5(str));
2022-07-11 15:28:28 +08:00
回复了 makeitwork 创建的主题 数据库 没想到 clickhouse 这么牛逼,比 es 强太多了,搞 quant 适合吗
1. ck 对硬件有要求;内存要求高;
2. 集群副本的话数据量太大 zk 又是一个炸弹; (推荐单节点 zk;)
3. qps 不会很高;
4. 不支持事务;不支持更新删除;(虽然有 update 和 delete 的 dml, 但是这个 ck 离线处理的;)
但是做 olap 报表分析确实不错;
2022-07-04 13:05:51 +08:00
回复了 helee9199 创建的主题 Java 请教一下大佬.我们这个情况应该如何设计
@helee9199 不需要 copy 了再调整,
调整的东西分 2 种:
1. 核心通用调整, 比如是 X 里面某个核心功能有 bug, 这时修改 X 即可, 然后 A 的依赖版本修改一下;
2. 定制化调整, 比如 A 的某个表多一个字段, 只需改 A 即可;
其实你也可以理解成上面 @tramm 所说的.
A 或者 B 其实就是一个插件, 默认是在 X 里面实现的.
A 或者 B 可以重写或者替换;
2022-07-01 17:56:36 +08:00
回复了 helee9199 创建的主题 Java 请教一下大佬.我们这个情况应该如何设计
我们是 X 是通用的; 有一个额外的组件是基于 jsr269 实现可以函数级别的定制化;
A 是基于 X 的, 也就是 dependency X 的. 所以如果 A 需要修改某个功能就修改某个函数即可; 不会修改 X; 增加功能也只需在 A 的项目里增加;
如果 X 出现 bug 了修改了 X 的代码, 再在 A 里面修改一下依赖即可;
这样每个项目的个性需求都是独立的没有影响;
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2727 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 14ms · UTC 03:50 · PVG 11:50 · LAX 19:50 · JFK 22:50
Developed with CodeLauncher
♥ Do have faith in what you're doing.