标签: drizzle

实时统计:MySQL(/ Drizzle)还是MongoDB?

我们正在开发一个项目,该项目将包含某些操作(例如点击次数)的实时统计信息.每次点击,我们都会记录日期,年龄和性别(这些来自Facebook),位置等信息.

我们正在讨论存储这些信息的最佳位置,并将它们用于实时统计.我们将显示汇总统计信息:例如,点击次数,男性/女性点击次数,点击次数除以年龄组(例如18-24岁,24-30岁......).

由于我们在网站上使用的是MongoDB,我的同事认为我们也应该在其中存储统计信息.但是,我更喜欢基于SQL的数据库来完成这项任务,比如MySQL(或者可能是Drizzle),因为我认为在进行数据聚合等操作时,SQL会更好.虽然解析SQL的开销很大,但我认为MySQL/Drizzle实际上可能比No-SQL数据库更快.使用INSERT DELAYED查询时插入也不慢.

请注意,我们不需要执行JOINS或从多个表/集合中收集数据.因此,我们不关心数据库是否不同.但是,我们关心可扩展性和可靠性.我们正在构建一些(希望)变得非常大的东西,并且我们在设计每一行代码时都考虑了可伸缩性.

你怎么看待这件事?有没有理由比MySQL/Drizzle更喜欢MongoDB呢?还是无动于衷?如果你是我们,你会使用哪一个?

谢谢,亚历山德罗

mysql statistics mongodb drizzle

14
推荐指数
1
解决办法
6385
查看次数

Oracle的MySQL vs. MariaDB vs. Drizzle

我过去曾经使用过MySQL,但自从甲骨文收购Sun以来,我还没有触及它.既然Oracle已经开始在5.x分支上推出他们自己的MySQL更新了,我考虑了以下几点:

有Oracle分支以及两个流行的分支:Maria和Drizzle.我一直试图找到一个客观的比较,为什么我会考虑两个叉中的一个,而不是使用Oracle分支.我也一直试图弄清楚每个fork的主要支持者是什么,使它们与Oracle分支不同.

这些是我在搜索时想到的一些细节:

  • Drizzle的网站说,他们已经重新组织了代码,使其更加基于插件 - 这有什么好处?

  • 玛丽亚的网站说他们已经做了一些改进,但我真的不明白他们有什么好处.

  • MariaDB是一个替代品 - 这非常棒,因为我不需要做任何重大改变.但是我想弄清楚为什么我会把玛丽亚放在普通的MySQL上.

  • Oracle的任何更新是否与仅使用常见SQL函数的公共开发人员相关?由于这是一个关系数据库问题,我假设我会使用JOIN.

我访问过的网站:
Drizzle:http://www.drizzle.org/
MariaDB:http://mariadb.org/
MySQL社区版:http://www.mysql.com/products/community/
Oracle新闻稿MySQL 5.6:http://www.oracle.com/us/corporate/press/1583744
MySQL已经不见了:http://zerolinesofcode.wordpress.com/2010/05/06/mysql-is-gone-here-comes- MariaDB的和-毛毛雨/

如果您要构建一个可能每天为1,000-10,000个用户提供4-5个数据表的Web应用程序 - 您会考虑哪些因素?

我知道选择数据库有不同的变量; 我明白我没有提到硬件; 我知道您可能认为NoSQL解决方案会更好,我可能会同意您的看法.但是,我很好奇从关系数据库的角度来看如何处理这个问题.

之前有没有人试过这些?

mysql mariadb drizzle

9
推荐指数
0
解决办法
2798
查看次数

MariaDB vs Drizzle vs Percona Server vs MySQL

我很长一段时间以来一直是MySQL的用户.我想开始使用最流行的叉子之间的所有不同的变化.问题是我找不到它们之间的任何好的比较,我最终只会尝试所有这些.我关心的是生产,因为我不会在生产中试验所有这些叉子.

你有没有在生产中运行任何MySQL分支?

有什么好处?有什么缺点?

mysql mariadb percona drizzle

9
推荐指数
1
解决办法
5452
查看次数

以正确的方式调度动作

请检查编辑

我正在尝试在我的应用程序中实现sagas。

现在,我以一种非常糟糕的方式获取道具。我的应用程序主要基于轮询其他来源的数据。

目前,这是我的应用程序的工作方式:

我有具有mapStateToProps,mapDispatchToProps的容器

const mapStateToProps = state => {
  return {
    someState: state.someReducer.someReducerAction,
  };
};

const mapDispatchToProps = (dispatch) => {
  return bindActionCreators({someAction, someOtherAction, ...}, dispatch)
};

const something = drizzleConnect(something, mapStateToProps, mapDispatchToProps);

export default something;
Run Code Online (Sandbox Code Playgroud)

然后,我有一些动作,像这样:

import * as someConstants from '../constants/someConstants';

export const someFunc = (someVal) => (dispatch) => {
    someVal.methods.someMethod().call().then(res => {
        dispatch({
            type: someConstants.FETCH_SOMETHING,
            payload: res
        })

    })
}
Run Code Online (Sandbox Code Playgroud)

减速器,如下所示:

export default function someReducer(state = INITIAL_STATE, action) …
Run Code Online (Sandbox Code Playgroud)

javascript drizzle reactjs redux-thunk react-redux

6
推荐指数
1
解决办法
195
查看次数

Drizzle ORM:推断包括关系在内的模式类型

我正在开发一个 Express 应用程序,它使用 Drizzle 作为连接到 Postgres 数据库的 ORM。当我推断特定模式的类型时,仅将声明的列添加为生成类型的属性。是否可以包含声明关系的类型?

以下是上述场景的代码:

import { relations, type InferModel } from "drizzle-orm"
import { integer, pgTable, primaryKey } from "drizzle-orm/pg-core"

import { privileges } from "@config/db/schema/privilege"
import { roles, type Role } from "@config/db/schema/role"

export const rolePrivileges = pgTable("role_privileges", {
   roleId: integer("role_id").notNull().references(() => roles.id, { onDelete: "cascade" }),
   privilege: privileges("privilege")
}, (rolePrivileges) => ({
   pk: primaryKey(rolePrivileges.roleId, rolePrivileges.privilege)
}))

export const rolePrivilegesRelations = relations(rolePrivileges, ({ one }) => ({
   role: one(roles, {
      fields: [rolePrivileges.roleId],
      references: [roles.id] …
Run Code Online (Sandbox Code Playgroud)

drizzle

6
推荐指数
1
解决办法
7297
查看次数

Drizzle Studio:没有足够的信息来推断关系

我正在尝试启动 drizzle studio 但出现以下错误:

Error: There is not enough information to infer relation "restaurantsTable.categories"

我做错了什么?

模式.ts

export const restaurantsTable = pgTable("restaurants", {
  id: serial("id").primaryKey(),
  [...]
});

export const restaurantTableRelations = relations(restaurantsTable, ({ one, many }) => ({
  menu: many(menuTable),
  categories: many(categoryTable, { relationName: 'categories' }),
}));

export const categoryTable = pgTable("categories", {
  id: serial("id").primaryKey(),
  restaurant_id: integer('restaurant_id').notNull()
});

export const categoryTableRelations = relations(categoryTable, ({ one }) => ({
  menu: one(menuTable, {
    fields: [categoryTable.restaurant_id],
    references: [menuTable.id],
    relationName: 'menu'
  })
}));
Run Code Online (Sandbox Code Playgroud)

postgresql drizzle sveltekit

6
推荐指数
1
解决办法
1324
查看次数

Drizzle Columns Schema JSON 将我的 JSON 作为文本存储在 PostgreSQL 中

我使用 Drizzle 作为 Typescript 后端,为一些 API 端点提供服务。我的数据库是 Postgresql,有一个 JSON 列。

export const transactions = pgTable("transactions", {
    id: serial("id").primaryKey(),
    my_json: json('my_json')
});
Run Code Online (Sandbox Code Playgroud)

我如果尝试从 supabase 表编辑器存储{"hello":"world"},这就是我得到的:

在此输入图像描述

如果我尝试使用 TS/Drizzle 插入我的 {"hello":"world"} ,这就是我得到的:

在此输入图像描述

不知怎的,我找不到设置或方法让 drizzle 将其存储为真正的 JSON 对象而不是它的字符串版本。

postgresql orm json drizzle typescript

4
推荐指数
1
解决办法
3250
查看次数

如何使用 Drizzle ORM 从选择中排除某些字段?

我\xe2\x80\x99m 在我的 TypeScript 项目中使用 Drizzle ORM 来处理数据库,并且我有一个表示用户数据的模型,其中包括密码等敏感信息。出于安全原因,我想默认在所有 SELECT 语句中排除 \xe2\x80\x98password\xe2\x80\x99 字段。

\n

javascript database orm drizzle typescript

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