Although, there are heaps of fundamental changes between Oracle & Cassandra,
Just for fun, or for nomenclature or for commands or similar features are listed here , which may provide handy information to Oracle DBA's
| Oracle Keyword | Cassandra Feature / Nomenclature |
| SGA | Java Heap Memory |
| Buffer Cache | Memtables |
| LRU List | Parition Index Summary Cache |
| Buffer Cache | Partition Key Cache |
| KeepPool/Result Cache | Row Cache |
| Background Process | Nothing Like that |
| SQLPLUS | CQLSH |
| TNS | THRIFT |
| Dictionary Cache | Nothing Like That |
| Tablespace | Keyspace |
| Table | Column Family/Table |
| Datafiles | SSTABLES |
| Index | Index for partition key |
| Partition Key for row level | Partition Key as column level to store relevant rows |
| Merge Partition | Compaction of SSTABLES |
| sql_trace = on | tracing on |
| C and ANSI SQL | Java and CQL |
| Schema | Keyspace |
| User | User |
| SYSDBA | SuperUser |
| Backup Copies | SNAPSHOTS |
| Incremental | Incremental Backups |
| redolog | commitlog |
| undo | tombstone |
| Temp | Data Actually Stores in Order no need of temp |
| Interconnect Protocol RDP/UDP | Gossip Protocol |
| Network /Disk Heartbeat | Only one heartbeat network heartbeat in messages |
| Master / Slave Nodes | Peer Nodes (no master) indeed every node act as coordinator |
| Shared Storage | Local Storage to each node |
| ASM Striping | Tokens: Data Stripes using token range at node level |
| ASM Mirroring | Replication Factor: Data Mirrors across nodes using RF=ONE, ALL, N.. |
| Disk Repair Time | Hinted Handoffs |
| Prefered_read_failgroup, diskgroup level | table level / query level CL=QUORUM, LOCAL, ONE, ALL |
| init.ora or spfile.ora | cassandra.yaml in /softwarelocation/conf/ |
| redo log sizes & location | commitlog size determined by parameters in cassandra.yaml file commitlog_directory |
| redo log flush | commitlog flush determined by parameter commitlog_segment_size_in_mb,commitlog_sync_period_in_ms,commitlog_sync |
| archives | commitlog will be copied as archives determined by parameter cassandra/conf/commitlog_archiving.properties |
| alert log/crsd.log/node.log | Log located at /cassandrasoftware/clustername/nodename/logs/system.log |
| crsctl / srvctl | nodetool |
| Rebalance of Data in diskgroups | nodetool repair or nodetool repair -st -et |
| private network or private ips | no private ip's |
| OCR/Voting Disk | Nothing Like that, but maintains list of peer nodes to communicate using seeds parameter in cassandra.yaml |
| scn_to_timestamp or rowscn functions | writetime function |
| alter session set schema | use keyspace |
| dbms_metadata.get_ddl | desc tablename or describe keyspace shows metadata |
| v$asm_operation, rebalance operation | nodetool netstats or nodetool tpstats |
| cssd.log (disk heartbeat and network heartbeat) | nodetool gossipinfo |
| size of table: bytes in dba_tables | Because the table data is striped across the nodes, For each node, calculate Space used (total), bytes: output from
nodetool cfstats keyspace.tablename
|
| num of rows in table: num_rows in dba_tables | Because the table row/columns are striped across the nodes, for each node, calculate Number of Keys (estimate) from
Number of keys (estimate): Number of keys (estimate): 10112 |
| size of Tablespace / Schema: sum(bytes) in dba_segments | For each node, calculate the Space Used (total), bytes: output from
nodetool cfstats system | grep "Space Used (total)" | awk '{ SUM += $5} END { print SUM/1024/1024 }' |
| Size of Buffer Cache | For each node, calculate the each keyspace memtables count
nodetool cfstats | grep "Memtable data size" | awk '{ SUM += $5} END { print SUM/1024/1024 }' |
| Flush Buffer Cache | nodetool flush keyspace tablename |
| Size of result cache | Row Cache |
| undo_retention | gc_grace_seconds for holding tombstones |
| addnode.sh | nodetool join |
| crsctl delete node | nodetool decomission
and then when status show decommissioned , nodetool remove token |
| result cache size / keep pool size | row_cache_size_in_mb |
| multiple dbwr writers | memtable_flush_writers parameter in cassandra.yaml parameter file |
| buffer cache flushing (3 seconds,ckpt etc) | memtable_cleanup_threshold parameter in cassandra.yaml |
| Shutdown instance, srvctl stop instance | nodetool -h $(hostname) -p 8080 disablegossip
nodetool -h $(hostname) -p 8080 dissablethrift nodetool -h $(hostname) -p 8080 drain /etc/init.d/cassandra stop |
| crsctl status cluster | nodetool status o nodetool ring or nodetool describecluster |
| rman>backup tablespace tag 'today' | For each node,
backup keyspace -t today backup keyspace.table -t today |
| rman> backup incremental tag 'incr' | Just enable incremental_backups: true in cassandra.yaml file, which creates incremental snapshots when take snapshot using backup keyspace -t |
| rebuild index or reorg table | rebuild index keyspace tablename idx1, idx2 |
| logical recovery
rman> recover block 57; rman> recover datafile |
logical recovery at table level
scrub [keyspace] [tablename] [-s|--skip-corrupted] |
| restricted mode? | nodetool drain |
| statistics | Nothing like that |
Suresh Gandhi you ROCK as Always !!!
very useful articles and posts
Thank Carey,
I have completed the full posts and dedicated a page for that. Please go through if need and it may be helpful.
http://db.geeksinsight.com/cassandra/
Hope and wish all good with you.
-Thanks
Suresh
Hi Buddy
I am oracle DBA and want to learn cassendra. please share any good book or blogs for begineers.
Neeraj, I have tried to writeup some articles which I believe you already gone through. If you want to learn more I suggest to read the cassandra documentation which is very nice.
-Thanks
Suresh
Hi Suresh anna,
Cassandra articles are really helpfull .
As always you rock .
ThankYou Suresh for sharing knowledge to everyone. Appreciate for all your work and its really awesome.
Free courses:
https://academy.datastax.com/courses
Regards
Srikanth