なぜRDBからCSV + COBOLに変更する事でコスト削減と高速化を同時に実現出来たかの考察


TL
tech.nikkeibp.co.jp
tech.nikkeibp.co.jp



 -  - COBOL  : 

1DBRDBCOBOL + CSVUnixWindows1/5 7SQLCOBOLRDBw



 

111



 2003UNIX COBOLIBM SQL7COBOL2C1SQL....

Unix SQL7IMSVSAM RDB使

IMS/VSAMSQLDB

 + SQL
sql = "SELECT SUM(amount) FROM hoge WHERE flag == 3"
result = db.exec(sql)
puts result


def isValid(record)
    record.flag == 3
end

sum = 0
db.get('hoge').records.each{|record|
    if isValid(record)
        sum += record.amount
    end
}

PG 使

RDBWhere使


RDBWHERE使

isValid 使DBCOBOLRAWboolean使 WHERE

JOINCASE使SQL 使7SQL



SQLRDB使SQLRDB

JSONXML 1101ID255HDFS使

0CSV COBOL

RDB SQL/I/O

COBOLCOBOL *1

COBOL SQL

SQL


使/ RDB()

/Hadoop/Spark*2 Unix(AIX?) Windowsvmware使

COBOL使 Java


JavaJava JavaRDBRDB + JavaCOBOLFW

JavaRuby使CSVKryoMassagePack使COBOL 

/COBOL COBOLCOBOL51020COBOL | 


RDBCSV + COBOL COBOL

COBOLRuby(JRuby)DecimalCOBOLJavaCOBOL SERuby

Happy Hacking!

*1:COBOLの場合は文字列や数値をテキストとして内部データも保持してるので結果として一部をのぞいてテキストになります。ASCIIかはさておき

*2:COBOLHadoopで動かす話はそれなりに事例がある。