140 likes | 152 Views
An advanced archive utility for managing and optimizing channel data, with features like fast data writing, index tools, and improved data maintenance scripts. It offers RDB integration, web-based interface, and Oracle cluster support.
E N D
From theChannelArchiverto theBest Ever ArchiveUtility, Yet kasemirk@ornl.gov July 2009
Channel Archiver IOC “ASCII” Config. Channel Access History ~2000:Started byBob Dalesio ~2003:Index Tools,Data Server ~2007:CSS Client Archive Engine config.xml Binary Data Files Data Server XML-RPC CSS-based OPI
Problems • Data file format optimized to write many samples quickly • More then 40000/second • .. but we only used maybe 1000/sec • .. and many ill-configured or duplicate channels • Headaches with data maintenance: • Scripts to restart engines, copy data, update indices. • Index time grows with data • Stuck when index files reach 2GB • SNS Users faced with ~80 sub-archives • No clue what needs fixing after network/power problems • No idea who contributes how many samples • No way to remove selected channels or time ranges • Improving on this means implementing an RDB
New Setup IOC Channel Access ArchiveEngine Samples Config. config.xml RDB(Oracle/MySQL) Other tools for config & samples EngineConfig -Import CSS-based OPI
CSS Data Browser Handles Both • New URL • Just one‘RDB’sub-archive • Old and newdata can becombined inone plot
Web Interface to Engine Config • Tomcat/JSP/Servlets to view and edit
Stats • 38 sample engines, 83000 channels • Host that runs sampling engine: • CPU load 45%, zero disk I/O wait, very responsive • Oracle • Cluster • Sample tables partitioned by day • 8000 samples/sec peakin write tests • Operationally maybe¼ of that • Better configurationwould likely havefewer samples/sec
Summary, Status • At SNS, BEAUtY replaced Channel Archiver • Parallel operation for ~2 month • Turned old sample engine off this month • About a year of testing, many Oracle setup issues • Oracle cluster setup • Updated partitioning • Next • Data reduction: Replace Oracle partitions of old data with reduced channel/sample count
Hurdles • Months: Get new Oracle server configured • Interface cards for storage array, fiber switches • Firewall holes for office access, backup, admin • Changes in 10g • SELECT MIN(stamp), MAX(stamp) -> NULL, NULL • No “range” partitioning on Index-Organized-Tables • Configuration issues • ORA-01654: unable to extend … • ORA-00257: archiver error • What used to be impossible is now “easy”, but still expensive • DELETE FROM SAMPLES WHERE …
Configure Sample Engines • Configuration is in RDB • Directly use SQL • EngineConfigImport for legacy config files • View/Edit via web • Hierarchical (as before) • Sampling engine (name, where to run, …) • Groups • Channels • No more duplicate channels!
Other Ideas • Jlab’s MyA • Operational, but • Wrapper code around MySQL to create ‘cluster’ • Handles less meta info (units, limits, …) • Viewer is one-of C++/TCL/Tk • Gabriele Carcassi mentioned RDDTool • Toolset for logging data with data-aging • Command-line RPN tools, web viewer • May be faster than general-purpose RDB • but lacks advantage of gpp RDB