标签: database-schema

电子邮件数据库设计(架构)

目前,我们正在开发一个相当大的应用程序,该应用程序必须处理大量记录。

这个想法是,电子邮件必须被存储(带有附件),并且用户应该能够通过 web-api 在他们存储的电子邮件中进行搜索。用户应该能够(在他们自己导出到数据库/存储的消息中)至少搜索以下项目:

  • 主题
  • 日期范围)
  • 附件(仅限名称和类型)
  • 留言内容
  • (可选)邮箱/文件夹结构

该应用程序应该能够处理大量用户和大量电子邮件(很容易从数百万增长到数十亿)。用户应该能够下载完整的原始邮件(带有附件),以便他们可以将其导入到他们的电子邮件客户端中。

我正在考虑将电子邮件索引到数据库中,然后将带有唯一密钥的附件的完整电子邮件作为packagea 存储到单独的存储中。通过这种方式,我应该保持数据库负载尽可能低,因此搜索尽可能快。

我发现了几个用于处理这样的电子邮件的数据库模式。我找不到任何能够处理数亿甚至数十亿条记录(电子邮件)的数据库。

这是保持简单、高效和快速的最有效方法还是我忘记了什么?

// 编辑 这个想法是在亚马逊云上运行它(也许有与之相关的建议?)

database email relational-database bigdata database-schema

5
推荐指数
1
解决办法
5713
查看次数

表示数据库模式的标准文件格式

是否有任何标准或至少非常常见的文件格式来序列化数据库的模式?似乎每个数据库模式工具都带有自己的文件格式,用于列出表、列、索引等。

这个问题早在 2009 年就被问过,但没有令人满意的答案:Standard Database Neutral XSD toDescribe a Relational Database Schema

xml postgresql entity-relationship information-schema database-schema

5
推荐指数
1
解决办法
1890
查看次数

使用官方身份证 ID 或 MongoDB 生成的 ID 来识别用户?

我正在为一个简单的 MongoDB 数据库设计架构,其中将为客户提供一个集合。

识别客户的自然方式是使用他们的官方身份证 ID(6 个数字和一个字母,每个人在该国都是唯一的)。另一种方法是让 MongoDB 选择 _id 字段值并使用卡 id 作为另一个字段。

选择一个由 6 个数字和一个字母组成的字符串作为 _id,或者选择 Mongo 创建的 ObjectId 的优点/缺点有什么建议吗?

mongodb database-schema

5
推荐指数
1
解决办法
264
查看次数

JPA 在注释中使用变量架构名称

我使用 Java Persistence API 来描述我将在代码中操作的数据库中的表。

但是,所使用的架构并不相同,具体取决于我的项目的安装位置。因此,当我使用注释时,我希望 SCHEMA 字段是一个变量,但我无法做到:

@Entity
@Table(name = "TABLE_NAME", schema = schemaVariable, catalog = "")
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?是否可以使用persistence.xml文件?

java hibernate jpa database-schema

5
推荐指数
1
解决办法
4794
查看次数

MongoDB 架构适用于因不同 SKU、价格和库存而异的电子商务产品

我的目标是拥有具有一些基本信息的产品,例如

  • 姓名
  • 描述
  • 品牌/制造商
  • 尺寸和重量

并且每个产品都可以有基于以下的选项:

  • 尺寸
  • 颜色
  • 材料

我读过几篇文章,但找不到适合我问题的答案,即如何反映所有这些可能的选项组合可以有不同的 SKU、价格和库存数量。另外,我想为不同颜色的产品提供不同的图像。

所以我目前的想法是为所有选项建立单独的集合:

  • 尺寸
  • 颜色
  • 材料

然后为产品文档中的所有这些选项提供指针数组,并且附加数组variations反映选项的每种可能组合并添加SKU,pricestock字段。

{
  _id: "12345",
  name: "My Product",
  ...
  colors: [
    {
      _id: "Color_1",
      images: [
        "http://myserver.com/images/product_12345_1",
        "http://myserver.com/images/product_12345_2",
      ]
    },
    {
      _id: "Color_3",
      images: [
        "http://myserver.com/images/product_12345_3",
        "http://myserver.com/images/product_12345_4",
      ]
    }
  ],
  sizes: [
    {
      _id: "Size_5"
    },
    {
      _id: "Size_9"
    }
  ],
  materials: [
    {
      _id: "Material_2"
    }
  ],
  variations: [
    {
      color: "Color_1",
      size: "Size_5",
      material: "Material_2",
      SKU: …
Run Code Online (Sandbox Code Playgroud)

non-relational-database mongodb e-commerce database-schema

5
推荐指数
1
解决办法
1万
查看次数

如何将 schema .sql 文件导入 Postgresql 数据库?

我正在尝试将旧数据库的 schema.sql 文件导入到 postgresql 中新创建的数据库中。

您能否让我知道执行此操作需要遵循的步骤。

环境:linux centos 7 DB:postgresql 9.3 我已将 schema.sql 文件复制到目录 /var/lib/pgsql/9.4/data/ 中。

问候。

postgresql database-restore database-schema postgresql-9.3

5
推荐指数
2
解决办法
2万
查看次数

如何设计一个数据库来存储不同分辨率的OHLC时间序列?

如果我可能对股票有不同的频率,那么存储各种股票的 OHLC 数据的最佳方法是什么?例如,我可能有:

* OHLC for 5-minute bars for APPL
* OHLC for 1-minute bars for APPL
* OHLC for 5-minute bars for IBM
Run Code Online (Sandbox Code Playgroud)

我正在考虑将所有内容存储在同一个表中,然后添加一个指定分辨率的列,因此它可能如下所示:

symbol, date,       time, resolution, open,  high,   low,   close
AAPL,   2017-06-19, 9:30, 5 min,      99.12, 102.52, 94.22, 98.34   
AAPL,   2017-06-19, 9:30, 1 min,      99.12, 100.11, 99.01, 100.34
IBM,    2017-06-19, 9:30, 5 min,      40.15, 45.78,  39.18, 44.22
Run Code Online (Sandbox Code Playgroud)

看起来不错吗?

sql time-series database-schema google-bigquery

5
推荐指数
1
解决办法
1660
查看次数

将 Django 模型迁移到 Postgresql 架构

我想通过 Django 迁移在特定的 Postgresql 架构(即“schema1”)中创建一个新表。

尽管遵循此博客此帖子中的方法 1 ,迁移仍将表发送到默认架构“public”而不是“schema1”。

在 中settings.py,我有:

DATABASES = {

    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'OPTIONS': {
                        'options': '-c search_path=django,public'
                    },
        'NAME': 'myDB',
        'USER': 'username',
        'PASSWORD': '***',
        'HOST': 'my.host.address',
        'PORT': '1234',
    },

    'schema1': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'OPTIONS': {
                    'options': '-c search_path=schema1,public'
                },
    'NAME': 'myDB',
    'USER': 'username',
    'PASSWORD': '***',
    'HOST': 'my.host.address',
    'PORT': '1234',
    } 
}  


#Path to DBrouter to handle PG schemas /sf/answers/3570520901/
DATABASE_ROUTERS = ('djangogirls.dbrouters.MyDBRouter',)
Run Code Online (Sandbox Code Playgroud)

在 中djangogirls/dbrouters.py,我有:

from legacydbapp.models import …
Run Code Online (Sandbox Code Playgroud)

django postgresql database-schema

5
推荐指数
1
解决办法
9802
查看次数

使用 typeorm 进行跨模式连接

重现步骤:

  1. 创建 2 架构ab
  2. 使用这些各自的实体在两个模式中创建表 user, photo UserA PhotoAUserB PhotoB
// PhotoA
import {Entity, Column, PrimaryGeneratedColumn, ManyToOne} from "typeorm";
import { User as UserB } from "./User.b";
import { User as UserA } from "./User.a";

@Entity({schema: "a"})
export class Photo {

    @PrimaryGeneratedColumn()
    id: number;

    @Column({
        length: 100
    })
    name: string;

    @ManyToOne(type => UserA)
    userA: UserA;
    @ManyToOne(type => UserB)
    userB: UserB;
}
Run Code Online (Sandbox Code Playgroud)
// UserB
import {Entity, Column, PrimaryGeneratedColumn, OneToMany} from "typeorm";
import { Photo as PhotoA …
Run Code Online (Sandbox Code Playgroud)

postgresql alias join database-schema typeorm

5
推荐指数
1
解决办法
2513
查看次数

仅授予对 postgreSQL 中一个模式的访问权限

我有一个用户just_one_schema_user

在我的数据库中,我有两个模式:publicsample

我怎样才能让这个用户只看到sample

这就是我所做的:

GRANT USAGE ON SCHEMA sample TO just_one_schema_user

REVOKE ALL PRIVILEGES ON SCHEMA public FROM just_one_schema_user

但用户仍然可以列出其中的表public并查看它们的结构。

sql database postgresql database-schema pgadmin

5
推荐指数
1
解决办法
6734
查看次数