欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 笔者参加了在加利福尼亚州圣克拉拉市举行的2010年Cloud Connect大会,这是今年最早举行的云计算重大会议之一。到目前为止,会议一个较大的议题是“不使用关系型数据库来保持数据的持久性”。这被称
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入
笔者参加了在加利福尼亚州圣克拉拉市举行的2010年Cloud Connect大会,这是今年最早举行的云计算重大会议之一。到目前为止,会议一个较大的议题是“不使用关系型数据库来保持数据的持久性”。这被称为 “NoSQL”运动,其宗旨是使用其他形式的数据库,更有效地处理大规模的数据。而关于围绕云计算出现的“大规模数据”,我已经写过一些文章,但是这一运动更为重要,它将推动数据回归到以更简单、但却可能更有效的模型进行物理存储的方式。51CTO数据库频道之前曾报道过《Digg投奔NoSQL 关系数据库行将就木》,也从一个侧面反映了NoSQL的发展。
NoSQL系统在运行时一般会把数据存放在内存中,或者是并行地从许多磁盘上读取数据。其中就有一个问题,“传统”的关系数据库不提供这种模式,因此也没法提供同样的性能。在过去那种数据库中,如果只有几个GB数据,这一问题还不是很明显,但是许多云计算的数据库已经超过了1TB,还会有更多的大规模数据库会被用来支撑不断发展的云计算系统。在关系型数据库上对大规模数据进行操作是兵家大忌,因为在处理数据时SQL请求会占用大量的CPU周期,并且会导致大量的磁盘读写。
如果你觉得以前好像在哪里听过这种说法,那么我告诉你其实你是对的。早在上世纪90年代,对象数据库和XML数据库就取得过一些进展,尽管那时许多非关系型数据库确实能提供更好的性能,但很多企业却守住了关系型数据库的江山,如Oracle、Sybase和Informix。然而,由于从关系型数据库上迁移出去的花费和风险太高,而且数据的规模也相对较小,使得关系型数据库几乎一统天下。
不过,云计算改变了一切。在云计算中需要对大量的数据进行处理,这一需求导致新的数据库处理方法运用在了旧模型上。MapReduce是Hadoop处理数据的基本方法,它是基于几年前的“无共享”(share-nothing)数据库处理模型,但现在我们有了实现它的处理能力、磁盘空间以及带宽。
我估计云计算的发展将会减少对关系型数据库的使用。这并非新鲜事物,但这回我们却实实在在需要改变了。
NoSQL,意即反SQL运动,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,相对于目前铺天盖地的关系型数据库运用,这一概念无疑是一种全新的思维的注入。
现今的计算机体系结构在数据存储方面要求具备庞大的水平扩展性,而NoSQL致力于改变这一现状。目前Google的 BigTable 和Amazon 的Dynamo使用的就是NoSQL型数据库。
NoSQL项目的名字上看不出什么相同之处,但是,它们通常在某些方面相同:它们可以处理超大量的数据。
这场革命目前仍然需要等待。的确,NoSQL对大型企业来说还不是主流,但是,一两年之后很可能就会变个样子。在NoSQL运动的最新一次聚会中,来自世界各地的150人挤满了CBS Interactive的一间会议室。分享他们如何推翻缓慢而昂贵的关系数据库的暴政,怎样使用更有效和更便宜的方法来管理数据。
“关系型数据库给你强加了太多东西。它们要你强行修改对象数据,以满足RDBMS (relational database management system,关系型数据库管理系统)的需要,”在NoSQL拥护者们看来,基于NoSQL的替代方案“只是给你所需要的”。

MySQL函數可用於數據處理和計算。 1.基本用法包括字符串處理、日期計算和數學運算。 2.高級用法涉及結合多個函數實現複雜操作。 3.性能優化需避免在WHERE子句中使用函數,並使用GROUPBY和臨時表。

MySQL批量插入数据的高效方法包括:1.使用INSERTINTO...VALUES语法,2.利用LOADDATAINFILE命令,3.使用事务处理,4.调整批量大小,5.禁用索引,6.使用INSERTIGNORE或INSERT...ONDUPLICATEKEYUPDATE,这些方法能显著提升数据库操作效率。

在MySQL中,添加字段使用ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column,刪除字段使用ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop。添加字段時,需指定位置以優化查詢性能和數據結構;刪除字段前需確認操作不可逆;使用在線DDL、備份數據、測試環境和低負載時間段修改表結構是性能優化和最佳實踐。

使用EXPLAIN命令可以分析MySQL查詢的執行計劃。 1.EXPLAIN命令顯示查詢的執行計劃,幫助找出性能瓶頸。 2.執行計劃包括id、select_type、table、type、possible_keys、key、key_len、ref、rows和Extra等字段。 3.根據執行計劃,可以通過添加索引、避免全表掃描、優化JOIN操作和使用覆蓋索引來優化查詢。

子查詢可以提升MySQL查詢效率。 1)子查詢簡化複雜查詢邏輯,如篩選數據和計算聚合值。 2)MySQL優化器可能將子查詢轉換為JOIN操作以提高性能。 3)使用EXISTS代替IN可避免多行返回錯誤。 4)優化策略包括避免相關子查詢、使用EXISTS、索引優化和避免子查詢嵌套。

在MySQL中配置字符集和排序規則的方法包括:1.設置服務器級別的字符集和排序規則:SETNAMES'utf8';SETCHARACTERSETutf8;SETCOLLATION_CONNECTION='utf8_general_ci';2.創建使用特定字符集和排序規則的數據庫:CREATEDATABASEexample_dbCHARACTERSETutf8COLLATEutf8_general_ci;3.創建表時指定字符集和排序規則:CREATETABLEexample_table(idINT

要安全、徹底地卸載MySQL並清理所有殘留文件,需遵循以下步驟:1.停止MySQL服務;2.卸載MySQL軟件包;3.清理配置文件和數據目錄;4.驗證卸載是否徹底。

MySQL中重命名數據庫需要通過間接方法實現。步驟如下:1.創建新數據庫;2.使用mysqldump導出舊數據庫;3.將數據導入新數據庫;4.刪除舊數據庫。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版
中文版,非常好用

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具