【问题标题】:What programming language is used to IMPLEMENT google algorithm?使用什么编程语言来实现谷歌算法?
【发布时间】:2010-04-19 06:47:38
【问题描述】:
  • 众所周知,谷歌拥有最好的搜索和索引算法。
  • 也有很好的相关性。
  • 他们也可以更快地获取最新结果。

一切都好。

他们使用什么编程语言(c、c++、java 等)和数据库(oracle、MySQL 等)来实现这一点(因为他们必须快速有效地处理大量数据) ?.

虽然我不是在寻找他们深入的架构(如果违反他们的公司政策),但对所有这些事情的概述可能会很有用。

有人请您对此提出宝贵的建议和见解吗?

【问题讨论】:

  • 使用的语言无关紧要,有一个技术概述google.com/corporate/tech.html 和更多的出版物你可以阅读research.google.com/pubs/papers.html
  • 好答案。也很高兴听到谷歌拥有高效的内部数据库管理系统。如果他们利用这一点,则意味着他们手头还有其他业务;)
  • 算法设计中不使用编程语言。它们用于算法实现。你的问题没有意义。
  • 我已经相应地改写了我的问题。但目的是只知道实现
  • 所以您现在要问两个问题:Google 使用的编程语言及其架构的概述,或者您所说的“所有这些东西”的其他任何含义,这同样不清楚,并且在任何情况都应该是一个单独的问题,可能无法回答。

标签: database programming-languages


【解决方案1】:

Google 在内部使用 C++、Java 和 Python。见Rhino on Rails

其中一个(数百个)很酷的东西 为谷歌工作是他们 让团队进行实验,只要它是 在一定范围内完成 明确界定的界限。中的一个 这个大操场上的栅栏是你的 编程语言的选择。你 必须在定义的围栏内玩 由 C++、Java、Python 和 JavaScript 编写。

Google 的搜索算法本质上是MapReduce,它源于函数式编程技术,用 C++ 实现。

Google 有自己的存储机制,称为Google File System

【讨论】:

    【解决方案2】:

    主要是pigeons:

    PigeonRank 的成功主要依赖于家鸽 (Columba livia) 出色的训练能力以及其独特的识别物体的能力,无论空间方向如何。普通的灰鸽子可以轻松区分仅显示最细微差异的项目,这种能力使其能够从数千个相似页面中选择相关网站。

    【讨论】:

    • “Google 只使用低成本的街边鸽子作为其集群。”
    【解决方案3】:

    搜索结果的相关性取决于他们使用的信息检索算法的质量,而不是编程语言。

    但他们的大部分后端代码都是用 C++ 编写的(对于大多数服务而言)。

    他们不使用任何现成的 RDBMS 产品来存储数据。所有这些都是内部编写的。

    【讨论】:

      【解决方案4】:

      检查一下,Bigtable

      【讨论】:

      • 数据结构是一种编程语言?
      • 我认为你可以从研究他们发表的作品中得到答案,而且你会学到比被告知更多的东西。毕竟,当原始发布者被告知 Google 使用的语言时,他们会做什么?学习它,以便他们也可以实现这些算法?
      猜你喜欢
      • 1970-01-01
      • 2012-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      • 2014-07-12
      • 2010-10-13
      相关资源
      最近更新 更多