RDBMS 对 Golang 的影响 [关闭]

2024-04-18

我不会对这个关于我测试过的内容和数字运算的问题进行长篇大论。我对最新的实际练习表演更感兴趣。

我已经阅读了大量的文章,其中一些非常怀疑,或者非常怀疑专业到一个图书馆。我目前正在测试一些gorp,但我不知道如何将这样一个库的性能与其他库进行比较。

I know gorp是一个额外的层,试图将 ORM 添加到基本的 SQL 驱动程序/实现中,但是看到 Go 的极其清晰的代码并且它所做的一切都非常接近骨架。这与我所使用的 PHP/Python/JAVA 不同,您必须浏览无尽的复杂层才能真正了解包的本质。

所以我的问题是是否有人可以分享(总是欢迎基准:))他们在这个主题上的经验和知识。

我不认为 N​​oSQL 类型的解决方案适合我的项目。我所有的项目始终强烈依赖于业务逻辑和相互交织的关系。我还想知道 Postgres 是否会战胜 MySQL。在 Django (Python) 中,我注意到使用 Postgres 可以显着提高性能,但我从未找到证据证明这是由于 Postgres 核心实现还是只是 Django 使用包装器的方式。

小更新

重读这个问题后,我发现我有点错过了它的实际目标。我实际上正在寻找最合适的 SQL 解决方案,该解决方案不会减慢 Golang 本身的速度。我知道 SQL 是并发运行的,但当它作为 Web 服务运行时,也会涉及到大量的流量。如果 ORM 部分能让我在性能上获得重大提升,我不会真的费心再次放弃它。


如果您需要使用 ORMsqlx https://github.com/jmoiron/sqlx or gorp https://github.com/coopernurse/gorp是不错的 Go 选择。就我个人而言,我有点守旧,我宁愿选择特定类型Foo,我宁愿写一个FooDB实现一个结构体FooDS界面。您应用程序中的所有内容都只是使用FooDS。 (DB = 数据库,DS = 数据存储)

您的 FooDB 实现可以使用任意数量的底层技术 MongoDB、LevelDB、SQL 等,并且它可以随着您的应用程序的更改而更改,并且此更改对您的应用程序的其余部分是透明的(因为您的应用程序的其余部分使用FooDS).

我会默认使用数据库/sql http://golang.org/pkg/database/sql/(准备好的语句等)最成熟的 Go SQL 驱动程序是 Julien Schmidt 的 MySQL 驱动程序:https://github.com/go-sql-driver/mysql https://github.com/go-sql-driver/mysql

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

RDBMS 对 Golang 的影响 [关闭] 的相关文章

随机推荐