从 Postgres 迁移到 MongoDB
Posted
技术标签:
【中文标题】从 Postgres 迁移到 MongoDB【英文标题】:Migration from Postgres to MongoDB 【发布时间】:2014-12-11 15:16:09 【问题描述】:需要更好的迁移解决方案。
说明:用户邮件地址验证服务。
问题:业务逻辑存储在 Postgres 的 pl/pgSQL 过程中。
步骤:
1. Insert into table user Email address and randomly generated hash
2. Send verification/confirmation Email with URL path and hash argument
3. Recv HTTP request with hash:
hash equals - Update record: CONFIRMED, return success
hash not found - Return error
4. Send response (error or success html page)
servlet 逻辑的详细信息(步骤 3,4):
-Servlet call pl/pgSQL procedure with received hash as argument
-Postgres stored procedure doing:
SELECT record by hash
if FOUND
DELETE temporary hash data
UPDATE email address as verified
return FOUND
if NOT_FOUND
return NOT_FOUND
-Servlet return success or fail HTML page.
我认为,通过 mongoDB 迁移,我需要将一些逻辑从 pl/pgSQL 过程转移到 java Servlet。
对吗?
【问题讨论】:
我将这种情况称为使用存储过程的方式。允许在客户端完成此操作不会出现一致性问题。如果用户使用另一个浏览器/窗口,那么他们会意识到这一点,并且会返回一个错误,说“哎呀,令牌现在无效”。这是使用存储过程的方式 【参考方案1】:是的,你是对的。
不要将应用程序逻辑存储在数据库中。在 MongoDB 中运行 javascript 存在性能限制。
http://docs.mongodb.org/manual/tutorial/store-javascript-function-on-server/
【讨论】:
以上是关于从 Postgres 迁移到 MongoDB的主要内容,如果未能解决你的问题,请参考以下文章
从 postgres 迁移到 oracle (Ansi) 中的奇怪字符
使用 pg_dump 将 Postgres 从 Windows 迁移到 Linux 时如何选择正确的排序规则来创建数据库?