从 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的主要内容,如果未能解决你的问题,请参考以下文章

Django 从 MySQL 迁移到 Postgres

从 postgres 迁移到 oracle (Ansi) 中的奇怪字符

使用 pg_dump 将 Postgres 从 Windows 迁移到 Linux 时如何选择正确的排序规则来创建数据库?

将数据库从 Heroku 迁移到 AWS

在 Postgres 迁移后,Rails 写入时间增加了 100%

oracle迁移postgres之-Ora2Pg