<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" >
  <channel>
  <title>ビーキョウのIT</title>
  <link>https://itdata.blog.shinobi.jp/</link>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="https://itdata.blog.shinobi.jp/RSS/" />
  <description>このブログは99%ののほほんと1%のお菓子でできています。</description>
  <lastBuildDate>Sat, 26 Oct 2019 12:30:17 GMT</lastBuildDate>
  <language>ja</language>
  <copyright>© Ninja Tools Inc.</copyright>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" />

    <item>
    <title>WindowsUpdateが失敗する場合の対処（Windows10）</title>
    <description>
    <![CDATA[下記の何れかで直ることがある。<br />
<br />
(1) トラブルシューティングのWindowsUpdate修復<br />
再起動後、WindowsUpdate<br />
<br />
(2) コマンドプロンプトでdismコマンド実行<br />
dism /online /cleanup-image /restorehealth<br />
再起動後、WindowsUpdate<br />
<br />
(3) レジトリエディタで修正（0x8024401cエラーに有効）<br />
regedit(レジストリエディタ)を起動<br />
コンピュータ\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsWindowsUpdate\AUを開く<br />
右枠にある「UseWUServer」の値を「1」&rarr;「0」に修正<br />
再起動後、WindowsUpdate]]>
    </description>
    <category>Windows</category>
    <link>https://itdata.blog.shinobi.jp/windows/windowsupdate%E3%81%8C%E5%A4%B1%E6%95%97%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AE%E5%AF%BE%E5%87%A6%EF%BC%88wi</link>
    <pubDate>Sat, 26 Oct 2019 12:30:17 GMT</pubDate>
    <guid isPermaLink="false">itdata.blog.shinobi.jp://entry/99</guid>
  </item>
    <item>
    <title>NVR500 コンソールでのフィルタ設定</title>
    <description>
    <![CDATA[こんちゃ(&acute;・&omega;・)ﾉ<br />
<br />
今回はNVR500にコンソールで接続してフィルタ設定までのやり方。<br />
LAN側のフィルタ設定間違って閉じてしまって、<br />
Web管理画面が使えなくなったときに以下の対応で解決した。<br />
<br />
<hr /><br />
(1) 準備<br />
・バッファローのUSBシリアルケーブル(BSUSRC06)を使用<br />
　※CDのドライバがWindowsXP32bitしかない。それ以外はネットからダウンロード。<br />
・NVR500とUSBシリアルケーブル(ストレート)をクロス接続するために、<br />
　SANWAのRS-232Cリバースケーブル(9pin/9pin)を使用。<br />
※BSUSRC06は2000円、RS-232Cリバースケーブルは700円程度した。<br />
※クロスとリバースは同じ意味。<br />
<br />
(2) USBシリアルケーブルのドライバをインストール<br />
<br />
(3) TeraTermかハイパーターミナル(7の場合はダウンロードが必要)で接続する。<br />
<br />
(4) シリアルのポートを指定し接続<br />
ポートが不明の場合はデバイスマネージャから「ポート」の項目を確認<br />
設定は以下の通り。<br />
・ビット/秒：9600<br />
・データビット：8<br />
・パリティ：なし<br />
・ストップビット：1<br />
・フロー制御：Xon/Xoff<br />
<br />
<br />
(5) 接続後、Enterを押す。<br />
※NVR500のコンソールへの接続がストレートになっていると、<br />
　ここで反応がない。<br />
<br />
(6) 「UserName：」「password：」が表示されるので、<br />
　　ログイン可能なユーザでログイン。<br />
　　設定が何もない場合、無名ユーザでpassowrdも入力なしでいける。<br />
<br />
(7) ログイン後「administrator」コマンドを実行して、パスワードを入力し、<br />
　 管理者でログインする。<br />
<br />
(8) コマンドで設定を確認<br />
【確認系コマンド】<br />
・help：ヘルプが表示！<br />
・show command：使用可能なコマンドが表示！<br />
・show config：設定全てが表示！<br />
　　　　　　　「show config | grep "ip filter"」でフィルタの設定を確認できる。<br />
・show staturs lan1：lan1(LAN側)の設定確認<br />
・show status lan2：lan2(WAN側)の設定を確認<br />
・show log：ログ表示(トラブル時に役立つ)<br />
【管理系コマンド】<br />
・administrator：管理者でログイン<br />
・quit：ログアウト。exitでも可能<br />
・save：設定を保存<br />
・restart：再起動<br />
【設定コマンド】<br />
・login timer：一定時間キー操作を行わないと自動的にログアウト。(秒指定)<br />
<br />
(9) フィルタ設定<br />
&lt;&gt;：必須<br />
[]：任意<br />
※正確なコマンドの使用は「http://www.rtpro.yamaha.co.jp/RT/manual/nvr500/」を参照。<br />
<br />
【フィルタ登録】<br />
ip filter &lt;フィルタ名&gt; &lt;passまたはreject&gt; &lt;送信元アドレス&gt;[/マスク] [送信先アドレス[/マスク]] [プロトコル]<br />
<br />
【フィルタ削除】<br />
no ip filter &lt;フィルタ名&gt; &lt;passまたはreject&gt;<br />
<br />
※passは許可、rejectは禁止<br />
<br />
※フィルタ名が「100000～」はLAN1(LAN側)、<br />
　フィルタ名が「200000～」はLAN2(WAN側)っぽい。<br />
<br />
(10) 設定後「save」コマンドで保存する。<br />
<br />
(11) 保存後、「quit」コマンドでログアウトする。<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
]]>
    </description>
    <category>ネットワーク</category>
    <link>https://itdata.blog.shinobi.jp/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF/nvr500%20%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB%E3%81%A7%E3%81%AE%E3%83%95%E3%82%A3%E3%83%AB%E3%82%BF%E8%A8%AD%E5%AE%9A</link>
    <pubDate>Fri, 26 Sep 2014 11:38:24 GMT</pubDate>
    <guid isPermaLink="false">itdata.blog.shinobi.jp://entry/98</guid>
  </item>
    <item>
    <title>Cassandra - 使用ポート番号 -</title>
    <description>
    <![CDATA[こんちゃ(´・ω・)ﾉ<br />
<br />
Cassandraの使用ポートについて記載する。<br />
<br />
<br />
<hr /><br />
<table border="1"><tr bgcolor="orange"><td>設定ファイル</td><td>設定項目</td><td width="40">ポート</td><td>説明</td></tr><tr><td>cassandra.yaml</td><td>rpc_port</td><td>9160</td><td>Thrift(RPC)等での接続ポート</td></tr><tr><td>cassandra.yaml</td><td>native_transport_port</td><td>9042</td><td>CQL用のトランスポート</td></tr><tr><td>cassandra.yaml</td><td>storage_port</td><td>7000</td><td>複数インスタンス(ノード)間で連携するためのポート</td></tr><tr><td>cassandra.yaml</td><td>ssl_storage_port</td><td>7001</td><td>複数インスタンス(ノード)間で連携するためのポート(SSL)</td></tr><tr><td>cassandra-env.sh</td><td>JMX_PORT</td><td>7199</td><td>JMXの接続用ポート</td></tr></table><br />
<br />
<hr /><br />
【Cassandra】<br />
・<a href="http://itdata.blog.shinobi.jp/Entry/91/" >Cassandra - 概要 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/92/" >Cassandra - データモデル -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/93/" >Cassandra - 読み込み・書き込みのアーキテクチャ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/94/" >Cassandra - ディレクトリ構成 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/95/" >Cassandra - CLI操作 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/96/" >Cassandra - バックアップ・リカバリ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/97/" >Cassandra - 使用ポート番号 -</a><br />
</ul>]]>
    </description>
    <category>Cassandra</category>
    <link>https://itdata.blog.shinobi.jp/cassandra/cassandra%20-%20%E4%BD%BF%E7%94%A8%E3%83%9D%E3%83%BC%E3%83%88%E7%95%AA%E5%8F%B7%20-</link>
    <pubDate>Tue, 19 Mar 2013 16:02:33 GMT</pubDate>
    <guid isPermaLink="false">itdata.blog.shinobi.jp://entry/97</guid>
  </item>
    <item>
    <title>Cassandra - バックアップ・リカバリ -</title>
    <description>
    <![CDATA[こんちゃ(´・ω・)ﾉ<br />
<br />
Cassandraのバックアップおよびリカバリ（リストア）について記載する。<br />
<br />
<hr /><br />
【バックアップ】<br />
Cassandraのnodetoolスクリプトを使用して、スナップショットでバックアップを取得する。スナップショットではSSTableのデータのみバックアップのため、MemTableにデータがある場合はFlush等のSSTableに移す作業をしておくと安全。<br />
※一応スナップショット時にflushが実行されるらしいようなことを見た気がするが、念のためね。<br />
<br />
■Cassandraのフラッシュ<br />
<table border="1" width="350"><tr><td>$ ｛CASSANDRA_HOME｝/bin/nodetool -h ｛対象ノードのIPアドレス｝ flush</td></tr></table><br />
<br />
■Cassandraのスナップショット<br />
<table border="1" width="350"><tr><td>$ ｛CASSANDRA_HOME｝/bin/nodetool -h ｛対象ノードのIPアドレス｝ snapshot -t ｛スナップショット名｝</td></tr></table><br />
<br />
（補足）<br />
・スナップショットはcassandra.yamlの「data_file_directories」で指定したディレクトリの場所に出力される。標準では「/var/lib/cassandra/data/｛Keyspace｝/｛ColumnFamily｝/snapshot」<br />
・sstable2json、json2sstableスクリプトを用いてJSON形式でのインポート・エクスポートもできる。<br />
<br />
<hr /><br />
【リカバリ（リストア）】<br />
（1） ノード（Cassandra）を停止する。<br />
	<br />
（2） CommitLogを削除する。<br />
「/var/lib/cassandra/commit_log」配下のファイルを削除。<br />
<br />
（3） SSTableを削除する。<br />
「/var/lib/cassandra/data/｛Keyspace｝/｛ColumnFamily｝/ 」の各dbファイルを削除<br />
<br />
（4） スナップショットの各dbファイルをコピーする。<br />
「/var/lib/cassandra/data/｛Keyspace｝/｛ColumnFamily｝/snapshot」の場所にあるdbファイルを<br />
「/var/lib/cassandra/data/｛Keyspace｝/｛ColumnFamily｝/」にコピーする。<br />
<br />
（5） ノード（Cassandra）を起動する。<br />
<br />
<hr /><br />
【スナップショットの削除】<br />
<table border="1" width="350"><tr><td>$ ｛CASSANDRA_HOME｝/bin/nodetool -h ｛対象ノードのIPアドレス｝ clearsnapshot -t ｛スナップショット名｝</td></tr></table><br />
<br />
<hr /><br />
【Cassandra】<br />
・<a href="http://itdata.blog.shinobi.jp/Entry/91/" >Cassandra - 概要 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/92/" >Cassandra - データモデル -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/93/" >Cassandra - 読み込み・書き込みのアーキテクチャ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/94/" >Cassandra - ディレクトリ構成 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/95/" >Cassandra - CLI操作 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/96/" >Cassandra - バックアップ・リカバリ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/97/" >Cassandra - 使用ポート番号 -</a><br />
</ul>]]>
    </description>
    <category>Cassandra</category>
    <link>https://itdata.blog.shinobi.jp/cassandra/cassandra%20-%20%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E3%83%BB%E3%83%AA%E3%82%AB%E3%83%90%E3%83%AA%20-</link>
    <pubDate>Tue, 19 Mar 2013 15:51:36 GMT</pubDate>
    <guid isPermaLink="false">itdata.blog.shinobi.jp://entry/96</guid>
  </item>
    <item>
    <title>Cassandra - CLI操作 -</title>
    <description>
    <![CDATA[こんちゃ(´・ω・)ﾉ<br />
<br />
CassandraCLIの操作について記載する。<br />
<br />
<hr /><br />
【ヘルプ】<br />
■ヘルプ一覧表示<br />
<table border="1" width="350"><tr><td>[default@unknown] help;</td></tr></table>または<br />
<table border="1" width="350"><tr><td>[default@unknown] ?;</td></tr></table><br />
<br />
■ヘルプ詳細表示<br />
<table border="1" width="350"><tr><td>[default@unknown] help {コマンド};</td></tr></table><br />
<br />
<hr /><br />
【キーススペース操作】<br />
■キースペース一覧<br />
<table border="1" width="350"><tr><td>[default@unknown] show keyspaces;</td></tr></table><br />
<br />
■キースペースの情報参照<br />
<table border="1" width="350"><tr><td>[default@unknown] describe sample; <br />
Keyspace: sample:<br />
  Replication Strategy: org.apache.cassandra.locator.NetworkTopologyStrategy<br />
  Durable Writes: true<br />
    Options: [datacenter1:1]<br />
  Column Families:</td></tr></table><br />
<br />
■キースペースを作成<br />
<table border="1" width="350"><tr><td>[default@unknown] create keyspace sample;</td></tr></table><br />
<br />
■キースペースを削除<br />
<table border="1" width="350"><tr><td>[default@unknown] drop keyspace sample;</td></tr></table><br />
<br />
■キースペースに移動（使用するキースペース指定）<br />
<table border="1" width="350"><tr><td>[default@unknown] use sample;</td></tr></table><br />
<br />
<hr /><br />
【カラムファミリ操作】<br />
■カラムファミリを作成<br />
・通常のカラムファミリを作成<br />
<table border="1" width="350"><tr><td>[default@sample] create column family users;</td></tr></table><br />
・通常のカラムファミリを作成（UTF-8）<br />
<table border="1" width="350"><tr><td>[default@sample] create column family users with comparator=UTF8Type and default_validation_class=UTF8Type and key_validation_class=UTF8Type;</td></tr></table><br />
・スーパーカラムありのカラムファミリを作成<br />
<table border="1" width="350"><tr><td>[default@sample] create column family users with column_type = 'Super';</td></tr></table><br />
・スーパーカラムありのカラムファミリを作成（UTF-8）<br />
<table border="1" width="350"><tr><td>[default@sample] create column family users with column_type=Super and comparator=UTF8Type and subcomparator=UTF8Type and default_validation_class=UTF8Type and key_validation_class=UTF8Type;</td></tr></table><br />
<br />
■カラムファミリの情報参照<br />
<table border="1" width="350"><tr><td>[default@sample] describe users;<br />
    ColumnFamily: users<br />
      Key Validation Class: org.apache.cassandra.db.marshal.BytesType<br />
      Default column value validator:org.apache.cassandra.db.marshal.BytesType<br />
      Columns sorted by: org.apache.cassandra.db.marshal.BytesType<br />
      GC grace seconds: 864000<br />
      Compaction min/max thresholds: 4/32<br />
      Read repair chance: 0.1<br />
      DC Local Read repair chance: 0.0<br />
      Populate IO Cache on flush: false<br />
      Replicate on write: true<br />
      Caching: KEYS_ONLY<br />
      Bloom Filter FP chance: default<br />
      Built indexes: []<br />
      Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy<br />
      Compression Options: sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor</td></tr></table><br />
<br />
■カラムファミリの削除<br />
<table border="1" width="350"><tr><td>[default@sample] drop column family users;</td></tr></table><br />
<br />
■カラムファミリのデータ削除<br />
<table border="1" width="350"><tr><td>[default@sample] truncate users;</td></tr></table><br />
<br />
<hr /><br />
【カラム操作】<br />
■挿入<br />
・通常のカラムファミリにデータを挿入<br />
<table border="1" width="350"><tr><td>[default@sample] set users['rowkey1']['column1'] = 'value1';</td></tr></table><br />
・スーパカラムありのカラムファミリにデータを挿入<br />
<table border="1" width="350"><tr><td>[default@sample] set users['rowkey1']['spcolumn1']['column1'] = 'value1'; </td></tr></table><br />
※ カラムファミリーを作成する際にUTF-8を指定しないとここで以下のエラーが発生する。<br />
org.apache.cassandra.db.marshal.MarshalException: cannot parse 'col1' as hex bytes<br />
<br />
■件数取得<br />
・ロウキー単位でのカラム件数取得<br />
<table border="1" width="350"><tr><td>[default@sample] count users['rowkey1'];</td></tr></table><br />
・スーパーカラム単位でのカラム件数取得<br />
<table border="1" width="350"><tr><td>[default@sample] count users['rowkey1']['spcolumn1'];</td></tr></table><br />
<br />
■取得<br />
・ロウキーで取得<br />
<table border="1" width="350"><tr><td>[default@sample] get users['rowkey1'];</td></tr></table><br />
・ロウキー＋カラム名で取得<br />
<table border="1" width="350"><tr><td>[default@sample] get users['rowkey1']['column1'];</td></tr></table><br />
・ロウキー＋スーパーカラム名で取得<br />
<table border="1" width="350"><tr><td>[default@sample] get users['rowkey1']['spcolumn1'];</td></tr></table><br />
・ロウキー＋スーパーカラム名＋カラム名で取得<br />
<table border="1" width="350"><tr><td>[default@sample] get users['rowkey1']['spcolumn1']['column1'];</td></tr></table><br />
・全て取得<br />
<table border="1" width="350"><tr><td>[default@sample] list users;</td></tr></table><br />
<br />
■削除<br />
・ロウを削除<br />
<table border="1" width="350"><tr><td>[default@sample] del users['rowkey1'];</td></tr></table><br />
・ロウキー＋カラム名で削除<br />
<table border="1" width="350"><tr><td>[default@sample] del users['rowkey1']['column1']; </td></tr></table><br />
・ロウキー＋スーパーカラム名で削除<br />
<table border="1" width="350"><tr><td>[default@sample] get users['rowkey1']['spcolumn1'];</td></tr></table><br />
・ロウキー＋スーパーカラム名＋カラム名で削除<br />
<table border="1" width="350"><tr><td>[default@sample] get users['rowkey1']['spcolumn1']['column1'];</td></tr></table><br />
<br />
<hr /><br />
【セカンダリインデックス】<br />
カラムファミリに対してセカンダリインデックスを作成することで、<br />
値を検索してデータを取得することができる。<br />
<br />
■セカンダリインデックス作成<br />
・新規カラムファミリにインデックスを作成<br />
カラムファミリ作成時に「column_metadata」オプションを付ける。<br />
<table border="1" width="350"><tr><td>[default@sample] create column family users with column_metadata = [ { column_name: column1, validation_class: UTF8Type, index_type: KEYS} ];</td></tr></table><br />
・既存カラムファミリにインデックスを作成<br />
<table border="1" width="350"><tr><td>[default@sample] update column family users with column_metadata = [ { column_name: column1, validation_class: UTF8Type, index_type: KEYS} ];</td></tr></table><br />
<br />
■セカンダリインデックスで取得<br />
<table border="1" width="350"><tr><td>[default@sample] get users where column1 = 'value1';</td></tr></table><br />
<br />
<hr /><br />
【Cassandra】<br />
・<a href="http://itdata.blog.shinobi.jp/Entry/91/" >Cassandra - 概要 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/92/" >Cassandra - データモデル -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/93/" >Cassandra - 読み込み・書き込みのアーキテクチャ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/94/" >Cassandra - ディレクトリ構成 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/95/" >Cassandra - CLI操作 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/96/" >Cassandra - バックアップ・リカバリ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/97/" >Cassandra - 使用ポート番号 -</a><br />
</ul><br />
<br />
<br />
]]>
    </description>
    <category>Cassandra</category>
    <link>https://itdata.blog.shinobi.jp/cassandra/cassandra%20-%20cli%E6%93%8D%E4%BD%9C%20-</link>
    <pubDate>Tue, 19 Mar 2013 15:06:23 GMT</pubDate>
    <guid isPermaLink="false">itdata.blog.shinobi.jp://entry/95</guid>
  </item>
    <item>
    <title>Cassandra - ディレクトリ構成 -</title>
    <description>
    <![CDATA[こんちゃ(´・ω・)ﾉ<br />
<br />
Cassandraのディレクトリ構成を記載する。<br />
<br />
<img src="//itdata.blog.shinobi.jp/File/cassandra07.png" alt=""style="width: 486px; height: 567px;" width="583"  /><br />
<br />
<hr /><br />
【Cassandra】<br />
・<a href="http://itdata.blog.shinobi.jp/Entry/91/" >Cassandra - 概要 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/92/" >Cassandra - データモデル -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/93/" >Cassandra - 読み込み・書き込みのアーキテクチャ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/94/" >Cassandra - ディレクトリ構成 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/95/" >Cassandra - CLI操作 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/96/" >Cassandra - バックアップ・リカバリ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/97/" >Cassandra - 使用ポート番号 -</a><br />
</ul>]]>
    </description>
    <category>Cassandra</category>
    <link>https://itdata.blog.shinobi.jp/cassandra/cassandra%20-%20%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E6%A7%8B%E6%88%90%20-</link>
    <pubDate>Tue, 19 Mar 2013 14:59:11 GMT</pubDate>
    <guid isPermaLink="false">itdata.blog.shinobi.jp://entry/94</guid>
  </item>
    <item>
    <title>Cassandra - 読み込み・書き込みのアーキテクチャ -</title>
    <description>
    <![CDATA[こんちゃ(´・ω・)ﾉ<br />
<br />
Cassandraの読み込み・書き込みの際の動作・アーキテクチャを<br />
記載する。<br />
<br />
<hr /><br />
【読み込み】<br />
<img src="//itdata.blog.shinobi.jp/File/cassandra05.png" alt="" /><br />
<img src="//itdata.blog.shinobi.jp/File/cassandra06.png" alt="" /><br />
<br />
■動作順序<br />
（1） クライアントからの読み込み要求を受け取る。<br />
（2） データを保持しているノードを決定して、該当ノードに送信（フォワード）する。<br />
（3） レプリケーションデータを保持しているノードを決定し、該当ノードに送信（フォワード）する。<br />
（4） Row Cache、Memtable、SStableからデータを取得する。<br />
（5） クライアントへのレスポンス返却を返却する。一貫性レベルによって動作が異なる。<br />
<br />
■一貫性レベルの設定による動作の違い<br />
<table border="1"><tr bgcolor="orange"><td>設定</td><td width="60">ノード数</td><td>説明</td></tr><tr><td>Zero</td><td>0</td><td>一貫性の保証なし。</td></tr><tr><td>One</td><td>1</td><td>1つのノード（最初のノード）からデータを取得し終わった場合に、クライアントにレスポンスを返却する。</td></tr><tr><td>Quorum</td><td>(n/2)+1</td><td>(全体のノード数/2)+1のノードからデータを取得し、整合性チェックを行った後、問題ない場合はクライアントにレスポンスを返却する。問題がある場合は実データを取得しにいく。</td></tr><tr><td>All</td><td>n</td><td>全てのノードからデータを取得し、整合性チェックを行った後、問題ない場合はクライアントにレスポンスを返却する。問題がある場合は実データを取得しにいく。</td></tr></table><br />
※ 整合性チェックは、データのダイジェストを使用して行う。<br />
<br />
<hr /><br />
【書き込み】<br />
<img src="//itdata.blog.shinobi.jp/File/cassandra03.png" alt="" /><br />
<img src="//itdata.blog.shinobi.jp/File/cassandra04.png" alt="" /><br />
<br />
■動作順序<br />
（1） クライアントからの書き込み要求を受け取る。<br />
（2） どのノードにデータを保持させるかを決定して、該当ノードに送信（フォワード）する。<br />
（3） レプリケーション（コピー）対象のノードを決定し、該当ノードに送信（フォワード）する。<br />
（4） 書き込み情報をCommitLogとして記録。<br />
（5） ColumnFamilyごとにメモリ上のMemtableに書き込まれる。<br />
（6） flashによってMemtableの内容がSstableに書き出される。flashは手動またはMemtableに閾値を設定して、書き込み要求に対して非同期に実行される。	<br />
（7） クライアントへのレスポンス返却を返却する。一貫性レベルによって動作が異なる。<br />
<br />
■一貫性レベルの設定による動作の違い<br />
<table border="1"><tr bgcolor="orange"><td>設定</td><td width="60">ノード数</td><td>説明</td></tr><tr><td>Zero</td><td>0</td><td>一貫性の保証なし。書き込みが終了する前にすぐにクライアントにレスポンスを返却する。</td></tr><tr><td>One</td><td>1</td><td>1つのノードの書き込みだけを保証。1つのノードで書き込みが終わった場合にクライアントにレスポンスを返却する。</td></tr><tr><td>Quorum</td><td>(n/2)+1</td><td>レプリケートするノード数の半分＋1ノードへの書き込みを保証する。(全体のノード数/2)+1のノードで書き込みが終わった場合にクライアントにレスポンスを返却する。</td></tr><tr><td>All</td><td>n</td><td>すべてのレプリカへの書き込みを保証する。全てのノードで書き込みがおわった場合にクライアントにレスポンスを返却する。</td></tr></table><br />
<br />
<hr /><br />
【Cassandra】<br />
・<a href="http://itdata.blog.shinobi.jp/Entry/91/" >Cassandra - 概要 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/92/" >Cassandra - データモデル -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/93/" >Cassandra - 読み込み・書き込みのアーキテクチャ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/94/" >Cassandra - ディレクトリ構成 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/95/" >Cassandra - CLI操作 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/96/" >Cassandra - バックアップ・リカバリ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/97/" >Cassandra - 使用ポート番号 -</a><br />
</ul>]]>
    </description>
    <category>Cassandra</category>
    <link>https://itdata.blog.shinobi.jp/cassandra/cassandra%20-%20%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%83%BB%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E3%81%AE%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%20-</link>
    <pubDate>Tue, 19 Mar 2013 14:37:27 GMT</pubDate>
    <guid isPermaLink="false">itdata.blog.shinobi.jp://entry/93</guid>
  </item>
    <item>
    <title>Cassandra - データモデル -</title>
    <description>
    <![CDATA[こんちゃ(´・ω・)ﾉ<br />
<br />
Cassandraのデータモデル・構造について記載する。<br />
・データはキーバリューの形で保持する(KVS)。<br />
・キースペース、カラムファミリ、ロウ、スーパーカラム、カラムを持つ。<br />
<br />
<hr /><br />
■通常のデータモデル<br />
<img alt="" src="//itdata.blog.shinobi.jp/File/cassandra02.png"><br />
■スーパーカラムありのデータモデル<br />
<img alt="" src="//itdata.blog.shinobi.jp/File/cassandra01.png"><br />
■説明<table style="width: 422px; height: 283px;" border="1" cellSpacing="1" cellPadding="1" width="422"><tbody><tr bgColor="orange"><td>項目</td><td>説明</td></tr><tr><td>Cluster</td><td>Cassandraインスタンス、サーバのこと。複数のキースペースを持つことができる。またCluster間で連携ができる。</td></tr><tr><td>Keyspace</td><td>カラムファミリ用のネームスペース。複数のカラムファミリを持つことができる。RDBのデータベースまたはスキーマに近い。</td></tr><tr><td>ColumnFamily</td><td>複数のカラムを持ち、行キーで参照可能。RDBでのテーブルに近い。</td></tr><tr><td>Row-Key</td><td>SuperColumn、Columnを含む集合。Keyによって一意に特定される。</td></tr><tr><td>SuperColumn</td><td>Columnを持つ</td></tr><tr><td>Column</td><td>Cassandraにおける最小限のデータ構造。名前、値、タイムスタンプを持つ。</td></tr></tbody></table><br />
<br />
<hr /><br />
【Cassandra】<br />
・<a href="http://itdata.blog.shinobi.jp/Entry/91/" >Cassandra - 概要 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/92/" >Cassandra - データモデル -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/93/" >Cassandra - 読み込み・書き込みのアーキテクチャ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/94/" >Cassandra - ディレクトリ構成 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/95/" >Cassandra - CLI操作 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/96/" >Cassandra - バックアップ・リカバリ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/97/" >Cassandra - 使用ポート番号 -</a><br />
</ul>]]>
    </description>
    <category>Cassandra</category>
    <link>https://itdata.blog.shinobi.jp/cassandra/cassandra%20-%20%E3%83%87%E3%83%BC%E3%82%BF%E3%83%A2%E3%83%87%E3%83%AB%20-</link>
    <pubDate>Tue, 19 Mar 2013 14:02:22 GMT</pubDate>
    <guid isPermaLink="false">itdata.blog.shinobi.jp://entry/92</guid>
  </item>
    <item>
    <title>Cassandra - 概要 -</title>
    <description>
    <![CDATA[こんちゃ(´・ω・)ﾉ<br />
<br />
流行のNoSQLデータベースのCassandraについて<br />
記載していこうと思います。<br />
<br />
<hr /><br />
【Apache Cassandraとは】<br />
Apache CassandraはJavaで記述されたオープンソースの分散型NoSQLデータベース。<br />
Facebook社で大規模データに対応するために開発を行っていたが、<br />
2008年7月にOSS（オープンソースソフトウェア）として公開し、<br />
現在はApacheのトップレベルプロジェクトとなっている。<br />
<br />
<hr /><br />
【特徴】<br />
・ライセンスはApache License 2.0<br />
・Javaで動作する。<br />
・スケールアウトによるパフォーマンスの向上が可能。<br />
・KVS(Key Value Store)のデータモデル。<br />
・4次元または5次元ハッシュなデータモデルを持つ。<br />
　　・キースペース、カラムファミリ、ロウ、スーパーカラム、カラムの順に入れ子構造。<br />
　　・カラムが最小単位で、名前、値、タイムスタンプを持つ。<br />
・データ操作は追加型。	<br />
　　・データ参照、挿入、更新、削除ができる。<br />
　　・更新はデータを挿入することによる擬似的な更新。<br />
　　・削除は論理削除のため、データ量が減らない。<br />
<br />
<hr /><br />
【参考URL】		<br />
■Apache Cassandra	<br />
<a href="http://cassandra.apache.org/" target="_blank">http://cassandra.apache.org/</a>	<br />
<br />
■Wikipedia - Apache Cassandra	<br />
<a href="http://ja.wikipedia.org/wiki/Apache_Cassandra" target="_blank">http://ja.wikipedia.org/wiki/Apache_Cassandra</a>	<br />
<br />
■Cassandra wiki<br />
<a href="http://wiki.apache.org/cassandra/FrontPage_JP<br />
" target="_blank">http://wiki.apache.org/cassandra/FrontPage_JP</a><br />
<br />
<hr /><br />
【Cassandra】<br />
・<a href="http://itdata.blog.shinobi.jp/Entry/91/" >Cassandra - 概要 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/92/" >Cassandra - データモデル -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/93/" >Cassandra - 読み込み・書き込みのアーキテクチャ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/94/" >Cassandra - ディレクトリ構成 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/95/" >Cassandra - CLI操作 -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/96/" >Cassandra - バックアップ・リカバリ -</a><br />
・<a href="http://itdata.blog.shinobi.jp/Entry/97/" >Cassandra - 使用ポート番号 -</a><br />
</ul>]]>
    </description>
    <category>Cassandra</category>
    <link>https://itdata.blog.shinobi.jp/cassandra/cassandra%20-%20%E6%A6%82%E8%A6%81%20-</link>
    <pubDate>Tue, 19 Mar 2013 13:52:47 GMT</pubDate>
    <guid isPermaLink="false">itdata.blog.shinobi.jp://entry/91</guid>
  </item>
    <item>
    <title>SAStruts アーキテクチャ・仕組み</title>
    <description>
    <![CDATA[こんちゃ(´・ω・)ﾉ<br />
<br />
お疲れ様です。<br />
今回はSAStrutsのアーキテクチャ？仕組み？動作？<br />
的な部分を簡単にかいていこうかと思います。<br />
ただ結構やっつけなので、間違ってるところがあるかも。<br />
<br />
<hr /><br />
<a href="//itdata.blog.shinobi.jp/File/SAStrtus.png" target="_blank"><img src="//itdata.blog.shinobi.jp/Img/1360769171/" alt=""/></a><br />
※クリックして拡大してね！<br />
<hr /><br />
（1） Filter<br />
クライアントからリクエストが届き、SAStrutsの各フィルターが動作する。<br />
フィルターの設定はweb.xmlで行っている。<table border="1"><tr><th bgcolor="darkgray">フィルター</th><th bgcolor="darkgray">説明</th></tr><tr><td>EncodingFilter</td><td>リクエストのパラメータをエンコードするためのフィルタ。</td></tr><tr><td>S2ContainerFilter</td><td>HttpServletRequestやHttpServletResponseなどをS2Containerに登録されたコンポーネントから利用できるようにするフィルタ。</td></tr><tr><td>HotdeployFilter</td><td>Seasar2がJavaのクラスの変更をHOTに認識できるようにするためのフィルタ。</td></tr><tr><td>RoutingFilter</td><td>SAStrutsの簡易なURL(Strutsの.doなどの拡張子を見せない)を実現するためのフィルタ。</td></tr></table><br />
<br />
（2） ActionServlet<br />
StrtusのActionServlet。<br />
ActionServletはStrutsで唯一のServlet。<br />
ここからstruts-config.xmlを参照して、指定のRequestProcessorを呼び出す。<br />
SAStrutsはRequestProcessorを継承したS2RequestProcessorを呼び出すようにしている。<br />
<br />
（3）  S2RequestProcessor、ActionWrapper<br />
S2RequestProcessorは、StrtusのRequestProcessorを継承している。<br />
ここからSAStrutsのActionWrapperを呼び出す。<br />
S2RequestProcessorとActionWrapperでそれぞれでどのような処理が行われているかはまだ不明。<br />
<br />
（4） ActionFormの設定<br />
ActionFormにHttpRequestの情報を設定する。<br />
<br />
（5） Validationチェック<br />
値が設定されたActionFormに対して、チェック（Validation）を行う。<br />
チェック（Validation）する処理プログラムはvalidator-rules.xmlから取得して呼び出す。<br />
<br />
（6） Actionの実行<br />
各作成されたActionのメソッドが呼び出される。<br />
値が既に設定されているActionFormがActionのFormに設定されている。<br />
<br />
（7） JSP遷移<br />
処理結果をRequestProcessorに設定し、遷移すべきJSPへ遷移する。<br />
]]>
    </description>
    <category>Seasar</category>
    <link>https://itdata.blog.shinobi.jp/seasar/sastruts%20%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E3%83%BB%E4%BB%95%E7%B5%84%E3%81%BF</link>
    <pubDate>Wed, 13 Feb 2013 15:26:41 GMT</pubDate>
    <guid isPermaLink="false">itdata.blog.shinobi.jp://entry/90</guid>
  </item>

    </channel>
</rss>