Closed. This question is opinion-based。它当前不接受答案。












想要改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。

7年前关闭。



Improve this question




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

我已经阅读了成千上万的文章,其中一些文章非常怀疑,或者对一个库非常专业。我目前正在使用gorp进行测试,但是我不知道如何将这种库的性能与其他库进行比较。

我知道gorp是一个额外的层,试图将ORM添加到基本的SQL驱动程序/实现中,但是看到Go的代码非常清晰,并且在执行的所有操作中都非常接近骨骼。我使用的也不是PHP/Python/JAVA,在这种情况下,您必须浏览无尽的复杂性,才能真正看到软件包的本质。

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

我认为NoSQL类型的解决方案不是我的项目的选择。我所有的项目始终强烈依赖于业务逻辑和相互交织的关系。我也想知道Postgres是否会击败MySQL。使用Django(Python)时,我注意到使用Postgres可以获得显着的性能提升,但是我从来没有找到证明这是由于Postgres核心实现还是仅仅是Django使用包装器的方式。

小更新

重新阅读问题后,我注意到我有点错过了它的实际目标。我实际上是在寻找最合适的SQL解决方案,该解决方案至少会降低Golang本身的速度。我知道SQL可以并发运行,但是在作为Web服务运行时也会涉及大量流量。如果这将使我在性能上获得重大 yield ,那么我不会真的再去掉ORM部分。

最佳答案

如果您需要使用ORM,那么sqlxgorp是不错的选择。就我个人而言,我有点老了,我想给定类型Foo,我宁愿编写一个实现FooDB接口(interface)的FooDS结构。您应用中的所有内容都只使用FooDS。 (DB =数据库,DS =数据存储)

您的FooDB实现可以使用任何数量的基础技术MongoDB,LevelDB,SQL等,并且可以随着应用程序的更改而更改,并且此更改对您的其余应用程序是透明的(因为其余的应用程序使用FooDS)。

我将默认使用database/sql(预备语句等),最成熟的Go SQL驱动程序是Julien Schmidt的MySQL驱动程序:https://github.com/go-sql-driver/mysql

关于sql - RDBMS对Golang的影响,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21647192/

10-10 06:44