install Cassandra in windows system
在 windows 系統上,加起 cassandra,實作起來不難,簡單步驟為:
(1) 安裝 java (JRI)
(2) 下載 cassandra tar, 並解開。
(3) 設定新增兩個系統環境變數: JAVA_HOME , CASSANDRA_HOME
(4) 修改 cassandra 設定檔 cassandra.yaml , 設好 cassandra 目錄所在。
(5) 啟動 cassanda,完成。
2013-08-28
How to union multiple table in MySQL?
database: MySQL
如果有多個 table 要合併起來,如果有 foreign key 要對應,一般都是用上 join 的語法。
但是,table 之間沒有關係,純綷只是要將各 table 中的所有 record 集合起來,那麼,就可以用上 union 的語法了:
result:
也可以加上一個欄位(文字或數值),直接來區分屬於那個 table 的內容:
result:
後記: 當資料量大時,效能不知如何...
後來,再查時,發現使用 union all 的速度會快過使用 union,原因在於 union all 不會去除重複,而 union 語法時,MySQL 會試著去過濾重複的資料。因此,如果確定 table 之間不會有重複的資料,可以直接下 union all 試看看:
如果有多個 table 要合併起來,如果有 foreign key 要對應,一般都是用上 join 的語法。
但是,table 之間沒有關係,純綷只是要將各 table 中的所有 record 集合起來,那麼,就可以用上 union 的語法了:
select agentid as id, agentname as name from agent
union
select cid, name from category
union
select id, adid from admanagement;
result:
id name
--------------
1 agent1
2 agent2
1 ca1
2 ca2
1 ad1
2 ad2
也可以加上一個欄位(文字或數值),直接來區分屬於那個 table 的內容:
select agentid as id, agentname as name, "agent" as type from agent
union
select cid, name, "category" from category
union
select id, adid, "ad" from admanagement;
result:
id name type
-----------------------
1 agent1 agent
2 agent2 agent
1 ca1 category
2 ca2 category
1 ad1 ad
2 ad2 ad
後記: 當資料量大時,效能不知如何...
後來,再查時,發現使用 union all 的速度會快過使用 union,原因在於 union all 不會去除重複,而 union 語法時,MySQL 會試著去過濾重複的資料。因此,如果確定 table 之間不會有重複的資料,可以直接下 union all 試看看:
select agentid as id, agentname as name, "agent" as type from agent
union all
select cid, name, "category" from category
union all
select id, adid, "ad" from admanagement;
2012-09-10
MySQL exception: Host 'host_name' is blocked
[環境]
[狀況]
突然間(about 2am. orz),有一台機器連不到 MySQL,但其他機器仍正常運作。
這個例外訊息看起來蠻明確的: 機器 xxx 被 MySQL db server 擋(block)了。
- client
- 數台機器定時向 MySQL database 取得資料。
- windows 2008 R2 standard
- .net 2.0 sp2
- c#
- db server
- MySQL 5.0.45
- windows 2008 R2 standard
[狀況]
突然間(about 2am. orz),有一台機器連不到 MySQL,但其他機器仍正常運作。
MySql.Data.MySqlClient.MySqlException: Host 'xxx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 在 MySql.Data.MySqlClient.PacketReader.CheckForError()
在 MySql.Data.MySqlClient.NativeDriver.Open()
在 MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()
在 MySql.Data.MySqlClient.MySqlPool.GetConnection()
在 MySql.Data.MySqlClient.MySqlConnection.Open()
在 SQLDB.MySQLNativeDB.reCreateSqlCommand() 位置 D:\projects\vs2008\source\MatchEngine\Scupio2.0\SQLDB\MySQLNativeDB.cs:行号 132
在 SQLDB.MySQLNativeDB.ExecuteCmdNonQuery(String sqlcmd, IDataParameter[] parameters) 位置 D:\projects\vs2008\source\MatchEngine\Scupio2.0\SQLDB\MySQLNativeDB.cs:行号 86
這個例外訊息看起來蠻明確的: 機器 xxx 被 MySQL db server 擋(block)了。
2011-12-02
NoSQL (II)
主要參考自 IThome
NoSQL解決資料庫暴量的新方法
了解NoSQL不可不知的5項觀念 :
快速認識4類主流NoSQL資料庫 : 這4大類型包括了Key-Value資料庫、記憶體資料庫、圖學資料庫和文件資料庫。
[terms]:
avalanche of data: 雪崩資料(大量資料或瞬間之高流量)
split-brain
map-reduce: 映射 與 化簡
parallel aggregated queries: 平行聚合查詢
NoSQL解決資料庫暴量的新方法
了解NoSQL不可不知的5項觀念 :
快速認識4類主流NoSQL資料庫 : 這4大類型包括了Key-Value資料庫、記憶體資料庫、圖學資料庫和文件資料庫。
[terms]:
avalanche of data: 雪崩資料(大量資料或瞬間之高流量)
split-brain
map-reduce: 映射 與 化簡
parallel aggregated queries: 平行聚合查詢
about NoSQL
這篇是看了 InfoQ 上的影片: NoSQL誤用和常見陷阱分析(孫立) 後,記錄下的一些摘要:
NoSQL:
1. 有許多個版本,如 TtServer(Tokyo Cabinet), ....
2. 升級版本之相容性: data format, API interface
3. 精通它
NoSQL:
1. 有許多個版本,如 TtServer(Tokyo Cabinet), ....
2. 升級版本之相容性: data format, API interface
3. 精通它
2011-10-28
2011-10-27
Starting survey of MongoDB (NoSQL)
最近在研究 NoSQL,先從 MongoDB 開始。
而 NoSQL 那麼多種,為何會選擇 MongoDB 呢? 其實我並沒有比較過,只不過訂閱的 RSS 中似乎 MongoDB 出現的次數較多,印象分數較高的緣故吧!
先從 MongoDB 研究起,也算是對於 name value pair 之非 Relational DB、NoSQL 的初步熟悉吧!
[Steps] as follows:
而 NoSQL 那麼多種,為何會選擇 MongoDB 呢? 其實我並沒有比較過,只不過訂閱的 RSS 中似乎 MongoDB 出現的次數較多,印象分數較高的緣故吧!
先從 MongoDB 研究起,也算是對於 name value pair 之非 Relational DB、NoSQL 的初步熟悉吧!
[Steps] as follows:
- 下載適合OS的版本: www.mongodb.org/downloads
我下載的是 win 32 版本。 - 解開之目錄下,MongoDB 執行檔在 bin 目錄下: bin\mongod.exe
- 直接執行的話,會使用預設的資料庫檔案路徑: c:\data\db,但必須要自行建立目錄。
也可以啟動時指定到另外目錄,如: mongod --dbpath d:\job2\mongo - 執行 mongo.exe,這是直接下 sql command 來操作 MongoDB 的 console。
2009-10-16
安裝 SQL server 2008 Express
這兩天安裝了 SQL server 2008 Express, 終於也順利安裝完成, 供其他台機器上的系統存取。
但是, 在安裝的過程中, 並非那麼地 "next-step" 順利。
主要遇到了幾個問題:
(1) 安裝失敗
(2) 安裝成功後, 其他台無法馬上遠端連線之, 因為, SQL server 2008 Express 預設只提供 local 連線。
是的, 所以, 有了這一篇。
當然了, 如果你到網海中去搜尋, 一定也可以解決的。
接著就來描述一下這兩天的過程吧!
但是, 在安裝的過程中, 並非那麼地 "next-step" 順利。
主要遇到了幾個問題:
(1) 安裝失敗
(2) 安裝成功後, 其他台無法馬上遠端連線之, 因為, SQL server 2008 Express 預設只提供 local 連線。
是的, 所以, 有了這一篇。
當然了, 如果你到網海中去搜尋, 一定也可以解決的。
接著就來描述一下這兩天的過程吧!
2009-10-14
MySQL 縮小 MyISAM table 檔案大小
當刪除大量的資料時, MyISAM 的檔案(MYD, MYI)並不會自動變小。
這時, 可以手動下一些指令:
optimalze table tablename
或
repair table tablename
不過, 如果資料量很大的話, 需要不少的時間。
原先資料筆數有 4千多萬筆, table 檔案大小共有 6.24 G。
刪除了 2千多萬筆後, table 檔案並不見縮小。
下了 repaire table 之後, 嗯..., 此時 MYI 不斷地由 0 開始長大。
很久之後, 成功了。
檔案大小共 2.67 G。
這時, 如果再下 optimize table, 會另外產生 TMM 檔案, 直到大小與 MYI 一致, 突然將 MYI 交換, TMM 檔就不見了。
這次速度就很快了, 大小仍同。
MYI 應該是 index file 吧。
這時, 可以手動下一些指令:
optimalze table tablename
或
repair table tablename
不過, 如果資料量很大的話, 需要不少的時間。
原先資料筆數有 4千多萬筆, table 檔案大小共有 6.24 G。
刪除了 2千多萬筆後, table 檔案並不見縮小。
下了 repaire table 之後, 嗯..., 此時 MYI 不斷地由 0 開始長大。
很久之後, 成功了。
檔案大小共 2.67 G。
這時, 如果再下 optimize table, 會另外產生 TMM 檔案, 直到大小與 MYI 一致, 突然將 MYI 交換, TMM 檔就不見了。
這次速度就很快了, 大小仍同。
MYI 應該是 index file 吧。
訂閱:
文章 (Atom)