NoSQL会取代SQL数据库吗?

Jun 07, 2016 pm 03:35 PM
di nosql sql twitter 交換する データベース

最近有Twitter、Digg和Reddit等多家Web 2.0企业宣布从MySQL转而使用非关系型数据库(NoSQL)提供可伸缩的数据存储解决方案,引起了开发者对NoSQL的强烈关注。 NoSQL真的会完全取代关系型数据库吗? 对此,前Google工程师,Milo(本地商店搜索引擎)创始人Ted

 

最近有Twitter、Digg和Reddit等多家Web 2.0企业宣布从MySQL转而使用非关系型数据库(NoSQL)提供可伸缩的数据存储解决方案,引起了开发者对NoSQL的强烈关注。

NoSQL真的会完全取代关系型数据库吗?

对此,前Google工程师,Milo(本地商店搜索引擎)创始人Ted Dziuba最近发表标题惊人的博客“I Can't Wait for NoSQL to Die”,对NoSQL的适用范围进行了分析。他认为,NoSQL也会带来一连串的新问题,并不会成为主流,无法取代关系型数据库。

他的理由是:Cassandra等NoSQL数据库在使用上并不方便,比如,修改column family定义时就需要重启。而且NoSQL更适合Google那样的规模,而一般的互联网公司都不是Google,早早地去考虑Google那样的规模的可扩展性,纯粹是浪费时间,存在巨大的商业风险。

他还透露,即使在Google,AdWords这样的关键产品也是基于MySQL实现的。

他在文中最后表示,NoSQL当然死不了,但是它最终会被边缘化,就像Rails被NoSQL边缘化一样。而DBA同学们也用不着担惊受怕,因为有钱招DBA的公司的决策者们都懂实际的生意是怎么回事儿。

Dziuba的文章因为言辞激烈,在社区里引起了强烈反应。

SQL数据库阵营赞同者大有人在。craigslist工程师、著名的MySQL专家Jeremy Zawodny表示,在读此文的时候,不时会心一笑。他说,NoSQL运动只是软件不断进化进程中的正常现象。关系型数据库也会继续发展,MySQL社区不断推出的XtraDB或InnoDB插件, PBXT, Drizzle都是证据。各种技术竞争的结果是,我们获得了更多解决问题的选择。

drizzle项目开发者Eric Day也表示,NoSQL有很多值得学习的,但是目前大部分实际项目的最佳选择还是关系型数据库。

NoSQL阵营当然不会坐视不理,Cassandra项目组的Eric Evans表示,Dziuba提到Cassandra修改column family定义的问题其实很容易解决。而且,NoSQL并不是要取代MySQL,事实上Twitter仍然在用MySQL。如果关系型数据库能够承担负荷,那就用好了;如果不行,请考虑NoSQL。

而德国知名博客Code Monkeyism则嘲笑Dziuba看起来并没有用MySQL做过真实项目,因为MySQL如果没有memcache,基本上无法应付网站项目。他认为,NoSQL将使SQL数据库边缘化,而且一个重要理由恰恰是可以节省DBA的开销。

digg的前任首席架构师现在也在创业的Joe Stump说,自己现在的创业项目就是用NoSQL,而且列举了一系列问题挑战SQL阵营。他表示,无论从可伸缩性、速度、成本各个方面来看,NoSQL都有SQL数据库无法企及的优势。

你的项目开始用NoSQL方案了吗?你对这一争论的意见?欢迎反馈。

 

 

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

ブロックチェーンデータ分析ツールは何ですか? ブロックチェーンデータ分析ツールは何ですか? Feb 21, 2025 pm 10:24 PM

ブロックチェーンテクノロジーの急速な開発により、信頼できる効率的な分析ツールが必要になりました。これらのツールは、ブロックチェーントランザクションから貴重な洞察を抽出するために不可欠です。この記事では、能力、利点、制限など、市場にある主要なブロックチェーンデータ分析ツールのいくつかについて説明します。これらのツールを理解することにより、ユーザーはブロックチェーンテクノロジーの可能性を最大化するために必要な洞察を得ることができます。

iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます iOS 18では、紛失または破損した写真を復元するための新しい「復元」アルバム機能が追加されます Jul 18, 2024 am 05:48 AM

Apple の最新リリースの iOS18、iPadOS18、および macOS Sequoia システムでは、さまざまな理由で紛失または破損した写真やビデオをユーザーが簡単に回復できるように設計された重要な機能が写真アプリケーションに追加されました。この新機能では、写真アプリのツール セクションに「Recovered」というアルバムが導入され、ユーザーがデバイス上に写真ライブラリに含まれていない写真やビデオがある場合に自動的に表示されます。 「Recovered」アルバムの登場により、データベースの破損、カメラ アプリケーションが写真ライブラリに正しく保存されない、または写真ライブラリを管理するサードパーティ アプリケーションによって失われた写真やビデオに対する解決策が提供されます。ユーザーはいくつかの簡単な手順を実行するだけで済みます

PHP でデータベース接続エラーを処理する方法 PHP でデータベース接続エラーを処理する方法 Jun 05, 2024 pm 02:16 PM

PHP でデータベース接続エラーを処理するには、次の手順を使用できます。 mysqli_connect_errno() を使用してエラー コードを取得します。 mysqli_connect_error() を使用してエラー メッセージを取得します。これらのエラー メッセージをキャプチャしてログに記録することで、データベース接続の問題を簡単に特定して解決でき、アプリケーションをスムーズに実行できるようになります。

GolangでJSONデータをデータベースに保存するにはどうすればよいですか? GolangでJSONデータをデータベースに保存するにはどうすればよいですか? Jun 06, 2024 am 11:24 AM

JSON データは、gjson ライブラリまたは json.Unmarshal 関数を使用して MySQL データベースに保存できます。 gjson ライブラリは、JSON フィールドを解析するための便利なメソッドを提供します。json.Unmarshal 関数には、JSON データをアンマーシャリングするためのターゲット型ポインターが必要です。どちらの方法でも、SQL ステートメントを準備し、データをデータベースに永続化するために挿入操作を実行する必要があります。

Deepseekの公式の入り口はどこですか? 2025年の最新の訪問ガイド Deepseekの公式の入り口はどこですか? 2025年の最新の訪問ガイド Feb 19, 2025 pm 05:03 PM

Deepseekは、アカデミックデータベース、ニュースWebサイト、ソーシャルメディアから幅広い結果を提供する包括的な検索エンジンです。 Deepseekの公式Webサイトhttps://www.deepseek.com/にアクセスし、アカウントを登録してログインすると、検索を開始できます。特定のキーワード、正確なフレーズ、または高度な検索オプションを使用して、検索を絞り込み、最も関連性の高い結果を得ます。

Go WebSocket はどのようにデータベースと統合しますか? Go WebSocket はどのようにデータベースと統合しますか? Jun 05, 2024 pm 03:18 PM

GoWebSocket をデータベースと統合する方法: データベース接続をセットアップする: データベースに接続するには、database/sql パッケージを使用します。 WebSocket メッセージをデータベースに保存する: INSERT ステートメントを使用して、メッセージをデータベースに挿入します。データベースから WebSocket メッセージを取得する: データベースからメッセージを取得するには、SELECT ステートメントを使用します。

Gateioの公式ウェブサイトの入り口 Gateioの公式ウェブサイトの入り口 Mar 05, 2025 pm 08:09 PM

公式gate.ioのウェブサイトには、公式アプリケーションを通じてアクセスできます。偽のWebサイトには、スペルミス、デザインの違い、または疑わしいセキュリティ証明書が含まれる場合があります。保護には、疑わしいリンクのクリックを避け、2要素認証の使用、公式チームへの不正行為の報告が含まれます。よくある質問は、登録、取引、引き出し、顧客サービス、料金をカバーしますが、セキュリティ対策にはコールドストレージ、マルチシグナル、KYCコンプライアンスが含まれます。ユーザーは、従業員になりすましたり、トークンを提供したり、個人情報を求めたりする一般的な不正な手段に注意する必要があります。

PHP データベース接続の落とし穴: よくある間違いや誤解を避ける PHP データベース接続の落とし穴: よくある間違いや誤解を避ける Jun 05, 2024 pm 10:21 PM

PHP データベース接続エラーを回避するには、接続エラーを確認し、変数名を資格情報と照合するというベスト プラクティスに従ってください。安全なストレージまたは環境変数を使用して、資格情報のハードコーディングを回避します。 SQL インジェクションを防止し、準備されたステートメントまたはバインドされたパラメーターを使用するために、使用後に接続を閉じます。

See all articles