NoSQL不像傳統(tǒng)關(guān)系型庫那樣有統(tǒng)一的標(biāo)準(zhǔn),也不具有普適性。所以要根據(jù)應(yīng)用和數(shù)據(jù)的存取特征來選擇適合的NoSQL。如果以前沒有接觸過NoSQL,MongoDB是一個(gè)比較好的選擇,他支持的所以和查詢能力是所有NoSQL中最強(qiáng)大的,缺點(diǎn)是索引的成本和文檔大小限制。如果是使用Hadoop大數(shù)據(jù)分析,數(shù)據(jù)基本上不存在修改,只是插入和查詢,并且需要配合Hadoop的MR任務(wù),HBase會(huì)是很好的選擇。如果要求有很強(qiáng)的擴(kuò)展能力,高并發(fā)讀寫和維護(hù)方便,Casaandra則是不錯(cuò)的選擇。當(dāng)然除了上面三個(gè)流行的NoSQL,還有很多優(yōu)秀的NoSQL數(shù)據(jù)庫,而且他們都有各自擅長領(lǐng)域,所以需要了解你們產(chǎn)品自身的特點(diǎn)然后分析選擇哪種才是最適合的,往往在大型系統(tǒng)中不是單一的數(shù)據(jù)庫,而是使用多種數(shù)據(jù)庫組合。
創(chuàng)新互聯(lián)是專業(yè)的桃城網(wǎng)站建設(shè)公司,桃城接單;提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行桃城網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!
NoSQL數(shù)據(jù)庫有很多種,實(shí)現(xiàn)方式差別很大。有接近SQL查詢方式的,也有純粹的鍵值對(duì)查詢。
對(duì)于K-V型數(shù)據(jù)庫,比較典型的是Redis,系統(tǒng)提供了get、set之類的命令用于增刪改查。關(guān)鍵是鍵值對(duì)的鍵和值怎么設(shè)計(jì)。
簡(jiǎn)單來說,傳統(tǒng)關(guān)系型數(shù)據(jù)庫的修改與刪除,可以快速通過主鍵、列或索引直接鎖定到某一行或某些行,進(jìn)行物理刪除。
而對(duì)于Hbase來說,受到hdfs文件系統(tǒng)的局限(hdfs文件系統(tǒng)不能修改,添加也很不方便),進(jìn)行CRUD的操作就會(huì)變得相對(duì)復(fù)雜。
Hbase的修改,是根據(jù)某個(gè)行鍵添加一行數(shù)據(jù),并未這行數(shù)據(jù)生成一個(gè)較新的時(shí)間戳來實(shí)現(xiàn),每個(gè)行鍵都會(huì)對(duì)應(yīng)多個(gè)時(shí)間戳的數(shù)據(jù),那么最新的時(shí)間戳就是最終修改后的內(nèi)容。
而刪除則是通過標(biāo)記來實(shí)現(xiàn),如果要?jiǎng)h除某行記錄,Hbase會(huì)添加一個(gè)帶有刪除標(biāo)記的行,通過這個(gè)刪除標(biāo)記來辨認(rèn)該行建的數(shù)據(jù)是否刪除。
Hbase與關(guān)系型數(shù)據(jù)庫的區(qū)別:
1、場(chǎng)景
Hbase是面向列的數(shù)據(jù)庫,適合大量的插入的同時(shí)又要具備不俗的讀功能,而Oracle或其他關(guān)系型數(shù)據(jù)庫適合處理比較復(fù)雜的業(yè)務(wù)關(guān)系或事務(wù)處理,而且,在數(shù)據(jù)在一定量級(jí)下都會(huì)有良好的表現(xiàn),并不是所有業(yè)務(wù)的數(shù)據(jù)壓力都會(huì)發(fā)生比較極端的情況。
2、索引
Hbase只能做主鍵索引,而關(guān)系型數(shù)據(jù)庫可以根據(jù)需求不同加入適合的索引機(jī)制,供用戶查詢。
3、瓶頸
Hbase的瓶頸是硬盤的傳輸速度,Oracle的瓶頸是硬盤的尋道時(shí)間(可以看做是硬盤的轉(zhuǎn)數(shù))。
4、業(yè)務(wù)
Hbase適合按照時(shí)間排序的業(yè)務(wù),而Oracle或其他關(guān)系型數(shù)據(jù)庫應(yīng)用比較廣泛,如OLTP或OLAP
package basic;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBC {
public void findAll() {
try {
// 獲得數(shù)據(jù)庫驅(qū)動(dòng)
//由于長時(shí)間不寫,驅(qū)動(dòng)名和URL都忘記了,不知道對(duì)不對(duì),你應(yīng)該知道的,自己改一下的哈
String url = "jdbc:oracle:thin:@localhost:1521:XE";
String userName = "system";
String password = "system";
Class.forName("oracle.jdbc.driver.OracleDriver");
// 創(chuàng)建連接
Connection conn = DriverManager.getConnection(url, userName,
password);
// 新建發(fā)送sql語句的對(duì)象
Statement st = conn.createStatement();
// 執(zhí)行sql
String sql = "select * from users";
ResultSet rs = st.executeQuery(sql);
// 處理結(jié)果
while(rs.next()){
//這個(gè)地方就是給你的封裝類屬性賦值
System.out.println("UserName:"+rs.getString(0));
}
// 關(guān)閉連接
rs.close();
st.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void delete(){
try {
//步驟還是那六個(gè)步驟,前邊的兩步是一樣的
String url = "jdbc:oracle:thin:@localhost:1521:XE";
String userName = "system";
String password = "system";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(url,userName,password);
//這里的發(fā)送sql語句的對(duì)象是PreparedStatement,成為預(yù)處理sql對(duì)象,因?yàn)榘礂l件刪除是需要不定值的
String sql = "delete from users where id = ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(0, 1);
int row = ps.executeUpdate();
if(row!=0){
System.out.println("刪除成功!");
}
// 關(guān)閉連接
rs.close();
st.close();
conn.close();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
1.與數(shù)據(jù)庫連接代碼,網(wǎng)上很多,不在此列表中的
2.構(gòu)造查詢,SQL
3.通過ASP的一些功能,對(duì)檢查出的顯示數(shù)據(jù)
分享標(biāo)題:nosql怎么修改數(shù)據(jù),nosql怎么修改數(shù)據(jù)庫
當(dāng)前網(wǎng)址:http://jinyejixie.com/article4/dssodoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、網(wǎng)站內(nèi)鏈、關(guān)鍵詞優(yōu)化、電子商務(wù)、移動(dòng)網(wǎng)站建設(shè)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)