Redian新闻
>
求互相引用,生物分子,核磁方法,凝聚态
avatar
求互相引用,生物分子,核磁方法,凝聚态# Chemistry - 化学
e*u
1
不知这里的爸爸妈妈有什么好的建议。 我们现在在考虑给孩子爸爸买保险。我们家单
收入。 孩子三岁多。 还无法确定生不生老二。 30年可以一直保到老公65岁。 但就要
将近$15K. 20年大概$6K就够了。 差了将近三倍多。 不知道如何打算好。 大家都是怎
么买的, 可以借鉴一下么?
avatar
b*d
2
今天去Houston的老墨领事馆申请劳模签证
一开始都很顺利,领事看样子都准备批准的了
照相,按指纹...
到最后一步,领事告诉我,电脑系统不允许她发签证给我
她接着问我以前出入美国有没有被带入小房间问话(从来没有)
后来她说她要找她的supervisor签名,和墨西哥国内的office联系,然后才能发签
证给我,让我隔两天再写email问情况
板上有人碰过同样的情况吗?
avatar
e*l
3
avatar
f*w
4
比如我要先查找某个东西是否存在,然后根据是否存在再插入一条记录,这个该怎么做
到原子性?
我看了下mongodb提供的相关的只有findAndModify(),可是也没有findandinsert啊
然后如果自己用两个的sequential的 db operation写的话万一有race condition怎么
办? 好像并不是安全的做法
avatar
m*m
5
找不到这样的群,不知道求一下有没有用,关键词biophysics,biochemistry,
chemistry,NMR,生物分子,方法,凝聚态理论,沾边的都可以,感兴趣的站内短信联
系。长期有效。
avatar
p*z
6
我家双收入,老大5岁,老二4个月,对我们来说, 买TERM LIFE的目的是即使大人有意
外,两个孩子也能至少完成大学本科,20年足够了。而且即使现在保个MILLION的,30
年后这些钱也根本算不得什么。
avatar
e*l
7
开心一乐
avatar
p*2
8
有什么race condition?



【在 f*****w 的大作中提到】
: 比如我要先查找某个东西是否存在,然后根据是否存在再插入一条记录,这个该怎么做
: 到原子性?
: 我看了下mongodb提供的相关的只有findAndModify(),可是也没有findandinsert啊
: 然后如果自己用两个的sequential的 db operation写的话万一有race condition怎么
: 办? 好像并不是安全的做法

avatar
b*k
9
我也觉得20年够了,主要就是保孩子小开销大的时候。20年后你们有存款,孩子也大了
,保险就没什么意义了。
avatar
m*g
10
太有才拉,哈哈
avatar
f*w
11
按照时间 request A 查询到不存在 ----> request B 正好查询相同的数据,也是
不存在 -----> request A 插入记录成功 -----> request B 的插入挂了,或者就
duplicate 记录了。

【在 p*****2 的大作中提到】
: 有什么race condition?
:
: 啊

avatar
T*4
12
哈哈,这是谁家胖儿子?

【在 e******l 的大作中提到】
: 开心一乐
avatar
l*n
13
upsert?



【在 f*****w 的大作中提到】
: 比如我要先查找某个东西是否存在,然后根据是否存在再插入一条记录,这个该怎么做
: 到原子性?
: 我看了下mongodb提供的相关的只有findAndModify(),可是也没有findandinsert啊
: 然后如果自己用两个的sequential的 db operation写的话万一有race condition怎么
: 办? 好像并不是安全的做法

avatar
K*N
14
哈哈,乐呵。谁家的胖娃?
avatar
p*2
15
你用什么做?

【在 f*****w 的大作中提到】
: 按照时间 request A 查询到不存在 ----> request B 正好查询相同的数据,也是
: 不存在 -----> request A 插入记录成功 -----> request B 的插入挂了,或者就
: duplicate 记录了。

avatar
c*w
16
感觉是个外国小孩
★ Sent from iPhone App: iReader Mitbbs Lite 7.56
avatar
f*w
17
我在用 mongojs
貌似楼上说的upsert确实是mongodb原生命令中能解决我的问题的 我去研究下
mongojs是不是能支持搞这个
btw mongojs 是最靠谱的mongodb库么?

【在 p*****2 的大作中提到】
: 你用什么做?
avatar
e*l
18
他爹娘真能整

【在 m*****g 的大作中提到】
: 太有才拉,哈哈
avatar
l*n
19
you have index to ensure no duplicate. so what is the problem?

【在 f*****w 的大作中提到】
: 按照时间 request A 查询到不存在 ----> request B 正好查询相同的数据,也是
: 不存在 -----> request A 插入记录成功 -----> request B 的插入挂了,或者就
: duplicate 记录了。

avatar
e*l
20
不知道啊。
胖乎乎的很可爱

【在 T*******4 的大作中提到】
: 哈哈,这是谁家胖儿子?
avatar
p*2
21
node是单线程不会有race condition吧

【在 f*****w 的大作中提到】
: 我在用 mongojs
: 貌似楼上说的upsert确实是mongodb原生命令中能解决我的问题的 我去研究下
: mongojs是不是能支持搞这个
: btw mongojs 是最靠谱的mongodb库么?

avatar
e*l
22
连牙都没有呢,却有满嘴的胡子

【在 K*N 的大作中提到】
: 哈哈,乐呵。谁家的胖娃?
avatar
n*j
23
我用 mongoose

【在 f*****w 的大作中提到】
: 我在用 mongojs
: 貌似楼上说的upsert确实是mongodb原生命令中能解决我的问题的 我去研究下
: mongojs是不是能支持搞这个
: btw mongojs 是最靠谱的mongodb库么?

avatar
e*l
24
嗯,我也觉得

【在 c***w 的大作中提到】
: 感觉是个外国小孩
: ★ Sent from iPhone App: iReader Mitbbs Lite 7.56

avatar
a9
25
多进程就完了。

【在 p*****2 的大作中提到】
: node是单线程不会有race condition吧
avatar
M*t
26
欠扁的。。。。老爹!

【在 e******l 的大作中提到】
: 嗯,我也觉得
avatar
p*2
27
多进程可以做sharding

【在 a9 的大作中提到】
: 多进程就完了。
avatar
l*1
28
这儿子被折腾的... ...
avatar
k*5
29
agree with that, use unique index to ensure no dup.

【在 l**********n 的大作中提到】
: you have index to ensure no duplicate. so what is the problem?
avatar
s*1
30
Haha
avatar
w*z
31
这和mongo或js 没关系。任何db 都有这样的问题。除非你把这个table 都锁住了。不
然只能通过unique index 来enforce. MySQL 有 on duplicate key update, client
不会有exception.



【在 f*****w 的大作中提到】
: 比如我要先查找某个东西是否存在,然后根据是否存在再插入一条记录,这个该怎么做
: 到原子性?
: 我看了下mongodb提供的相关的只有findAndModify(),可是也没有findandinsert啊
: 然后如果自己用两个的sequential的 db operation写的话万一有race condition怎么
: 办? 好像并不是安全的做法

avatar
n*j
32
说起这个请教大牛们一个问题,我现在需要生成一个 seq ID,不是连续数字。
按 mongo 做法是用个 collection 记录然后 findandmodify。我觉得这样啰嗦,采用
insert on dup generate & retry,不知道相比之下有什么问题?

【在 w**z 的大作中提到】
: 这和mongo或js 没关系。任何db 都有这样的问题。除非你把这个table 都锁住了。不
: 然只能通过unique index 来enforce. MySQL 有 on duplicate key update, client
: 不会有exception.
:
: 啊

avatar
p*2
33

即使不用unique index,如果同样的document,也就是overwrite吧。

【在 w**z 的大作中提到】
: 这和mongo或js 没关系。任何db 都有这样的问题。除非你把这个table 都锁住了。不
: 然只能通过unique index 来enforce. MySQL 有 on duplicate key update, client
: 不会有exception.
:
: 啊

avatar
p*2
34


我怎么没看懂。seq ID是谁用?是document的一个field?

【在 n****j 的大作中提到】
: 说起这个请教大牛们一个问题,我现在需要生成一个 seq ID,不是连续数字。
: 按 mongo 做法是用个 collection 记录然后 findandmodify。我觉得这样啰嗦,采用
: insert on dup generate & retry,不知道相比之下有什么问题?

avatar
n*j
35
对,比如按次序生成下一个 UPS 单号

【在 p*****2 的大作中提到】
:
: 用
: 我怎么没看懂。seq ID是谁用?是document的一个field?

avatar
p*2
36

用redis

【在 n****j 的大作中提到】
: 对,比如按次序生成下一个 UPS 单号
avatar
n*j
37
厄 。。。我请教的是 mongo

【在 p*****2 的大作中提到】
:
: 用redis

avatar
p*2
38
为什么一定mongo

【在 n****j 的大作中提到】
: 厄 。。。我请教的是 mongo
avatar
n*j
39
擦,求知欲强啊,你总不能说 mongo 不能解决这个问题吧。再说别的东西也有各种各
样问题去,不是所有麻烦都能绕过去的。

【在 p*****2 的大作中提到】
: 为什么一定mongo
avatar
p*2
40
还没明白你的问题
你就是想生成seq number 还是要在mongo里用呀

【在 n****j 的大作中提到】
: 擦,求知欲强啊,你总不能说 mongo 不能解决这个问题吧。再说别的东西也有各种各
: 样问题去,不是所有麻烦都能绕过去的。

avatar
n*j
41
比如 UPS 要生成 shipping label,客户 submit 了之后要给出一个不重复的
tracking#。不能假设 node 单线程不会冲突,因为很多 server 会连到你这个
mongodb。

【在 p*****2 的大作中提到】
: 还没明白你的问题
: 你就是想生成seq number 还是要在mongo里用呀

avatar
l*n
42
why you want to use number? can you use uuid?

【在 n****j 的大作中提到】
: 比如 UPS 要生成 shipping label,客户 submit 了之后要给出一个不重复的
: tracking#。不能假设 node 单线程不会冲突,因为很多 server 会连到你这个
: mongodb。

avatar
p*2
43

server多了做sharding不就得了?

【在 n****j 的大作中提到】
: 比如 UPS 要生成 shipping label,客户 submit 了之后要给出一个不重复的
: tracking#。不能假设 node 单线程不会冲突,因为很多 server 会连到你这个
: mongodb。

avatar
p*2
44

感觉你这个问题属于system design了。

【在 n****j 的大作中提到】
: 比如 UPS 要生成 shipping label,客户 submit 了之后要给出一个不重复的
: tracking#。不能假设 node 单线程不会冲突,因为很多 server 会连到你这个
: mongodb。

avatar
z*e
45
我的游戏也遇到这个问题的.
我想给每个玩家一个独立标示,但是又不能像UUID那么长,更像电话号码一样。
以前公司的游戏里面是随机生成9个数字+字母,然后查找看有没有重复,如果有就再
repeat,直到不重复(最多repeat N次,看情况)----这是个北美Top 50内手机游
戏的设计,用户量千万是有的。
我现在的设计是用总用户数+ 秒+毫秒+随机三位数,不过出来的数字还是太多了,
效果不好。。。
anyway,我意思是,没必要考虑理论上的“绝对唯一”。
还有个办法是专门用一个service生成一堆unique number作为一个queue,每次你过去
取一个,然后那个pool可以自己做一个thread safe的处理,保证每次只响应一个请求
,不会同时处理多个(当然也可以同时处理,比如你再把这个queue分割开10个,同时
响应10个请求云云)----但是我觉得那是没事找事做。

【在 n****j 的大作中提到】
: 比如 UPS 要生成 shipping label,客户 submit 了之后要给出一个不重复的
: tracking#。不能假设 node 单线程不会冲突,因为很多 server 会连到你这个
: mongodb。

avatar
x*u
46
uuid只有16字节啊

【在 z***e 的大作中提到】
: 我的游戏也遇到这个问题的.
: 我想给每个玩家一个独立标示,但是又不能像UUID那么长,更像电话号码一样。
: 以前公司的游戏里面是随机生成9个数字+字母,然后查找看有没有重复,如果有就再
: repeat,直到不重复(最多repeat N次,看情况)----这是个北美Top 50内手机游
: 戏的设计,用户量千万是有的。
: 我现在的设计是用总用户数+ 秒+毫秒+随机三位数,不过出来的数字还是太多了,
: 效果不好。。。
: anyway,我意思是,没必要考虑理论上的“绝对唯一”。
: 还有个办法是专门用一个service生成一堆unique number作为一个queue,每次你过去
: 取一个,然后那个pool可以自己做一个thread safe的处理,保证每次只响应一个请求

avatar
n*j
47
不是这个问题,UPS tracking# 有自己格式,你马工不能嫌麻烦让人改成数字拉倒,要
解决客户的问题。

【在 l**********n 的大作中提到】
: why you want to use number? can you use uuid?
avatar
n*j
48
我现在做法就是先 insert next seq id,dup 了 retry next,不知道有没有 build
in 的办法,比如给 mango 一个 getNextSeq 来取代他自己的生成 _id 算法

【在 z***e 的大作中提到】
: 我的游戏也遇到这个问题的.
: 我想给每个玩家一个独立标示,但是又不能像UUID那么长,更像电话号码一样。
: 以前公司的游戏里面是随机生成9个数字+字母,然后查找看有没有重复,如果有就再
: repeat,直到不重复(最多repeat N次,看情况)----这是个北美Top 50内手机游
: 戏的设计,用户量千万是有的。
: 我现在的设计是用总用户数+ 秒+毫秒+随机三位数,不过出来的数字还是太多了,
: 效果不好。。。
: anyway,我意思是,没必要考虑理论上的“绝对唯一”。
: 还有个办法是专门用一个service生成一堆unique number作为一个queue,每次你过去
: 取一个,然后那个pool可以自己做一个thread safe的处理,保证每次只响应一个请求

avatar
a9
49
mongodb设计出来就不是干这个的。
你可以自己用javascript写个插件干这个事儿吧。

【在 n****j 的大作中提到】
: 不是这个问题,UPS tracking# 有自己格式,你马工不能嫌麻烦让人改成数字拉倒,要
: 解决客户的问题。

avatar
p*2
50
那还不如用redis呢 多简单呀

【在 z***e 的大作中提到】
: 我的游戏也遇到这个问题的.
: 我想给每个玩家一个独立标示,但是又不能像UUID那么长,更像电话号码一样。
: 以前公司的游戏里面是随机生成9个数字+字母,然后查找看有没有重复,如果有就再
: repeat,直到不重复(最多repeat N次,看情况)----这是个北美Top 50内手机游
: 戏的设计,用户量千万是有的。
: 我现在的设计是用总用户数+ 秒+毫秒+随机三位数,不过出来的数字还是太多了,
: 效果不好。。。
: anyway,我意思是,没必要考虑理论上的“绝对唯一”。
: 还有个办法是专门用一个service生成一堆unique number作为一个queue,每次你过去
: 取一个,然后那个pool可以自己做一个thread safe的处理,保证每次只响应一个请求

avatar
p*2
51
你这属于system design 你没必要非得用mngo 整个redis就行了

【在 n****j 的大作中提到】
: 我现在做法就是先 insert next seq id,dup 了 retry next,不知道有没有 build
: in 的办法,比如给 mango 一个 getNextSeq 来取代他自己的生成 _id 算法

avatar
n*j
52
为了这么个小问题换 redis,还有其他问题 redis 不容易解决的换啥?换客户吗?

【在 p*****2 的大作中提到】
: 你这属于system design 你没必要非得用mngo 整个redis就行了
avatar
p*2
53

你太有意思了。就不能mongo+redis?

【在 n****j 的大作中提到】
: 为了这么个小问题换 redis,还有其他问题 redis 不容易解决的换啥?换客户吗?
avatar
n*j
54
现在的问题是,怎么用 mango 解决类似问题,mango+redis 显然比我这个效率低

【在 p*****2 的大作中提到】
:
: 你太有意思了。就不能mongo+redis?

avatar
p*2
55

are you sure? 为什么你会认为效率低?

【在 n****j 的大作中提到】
: 现在的问题是,怎么用 mango 解决类似问题,mango+redis 显然比我这个效率低
avatar
p*2
56

我一直奇怪为什么会有人想用一种Nosql去解决所有问题。

【在 n****j 的大作中提到】
: 现在的问题是,怎么用 mango 解决类似问题,mango+redis 显然比我这个效率低
avatar
n*j
57
Race 发生的机会不大,当然每个系统不同,在我这不到千分之一,你的方案每次都需
要 2 次操作

【在 p*****2 的大作中提到】
:
: 我一直奇怪为什么会有人想用一种Nosql去解决所有问题。

avatar
p*2
58

redis的latency也就是1ms,对整个latency的影响完全可以忽略

【在 n****j 的大作中提到】
: Race 发生的机会不大,当然每个系统不同,在我这不到千分之一,你的方案每次都需
: 要 2 次操作

avatar
a*e
59
前面的回答 upsert 已经完美解决问题,不明白还在讨论什么
avatar
f*w
60
传统db 可以有transaction 貌似可以绕过这个问题

【在 w**z 的大作中提到】
: 这和mongo或js 没关系。任何db 都有这样的问题。除非你把这个table 都锁住了。不
: 然只能通过unique index 来enforce. MySQL 有 on duplicate key update, client
: 不会有exception.
:
: 啊

avatar
w*z
61
你要在Client 端把整个block of code synchronized.

【在 f*****w 的大作中提到】
: 传统db 可以有transaction 貌似可以绕过这个问题
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。