Friday, December 26, 2014

Database maintenance, Geeta and Universality of maintenance

Ask any database user, what's the most irritating thing and most of them will answer "database maintenance". Almost every database, whether SQL or NoSQL, needs periodic maintenance. Free space needs to be collected so that, the database takes lesser space; statistics needs to updated so that the queries can be optimized; and so on. Users delay the maintenance activities till the transactional load reduces, at which times there are enough resources available for the maintenance tasks. A decade or two back, it was easier to take out time for such maintenance activities, but today, it has become increasing difficult to schedule maintenance activities because of increased load on database servers. Hence the "irritation" and users are expecting that database systems somehow reduce the maintenance requirement.

Is that possible? The answer looks tough. Periodic maintenance is a Universality. And surprisingly, our ancestors had acknowledged this fact. In Hindu scripture named "Bhagavad Geeta" (भगवद् गीता) or popularly known as only "Geeta" (गीता), a verse 4:7 goes thus

यदा यदा हि धर्मस्य ग्लानिर्भवति भारत | अभ्युत्थानमधर्मस्य तदात्मानं सृजाम्यहम् |
परित्राणाय साधुनां विनाशायच दुष्कृताम् | धर्मसंस्थापनार्थाय संभवामि युगे युगे ||

meaning: whenever धर्म (the force which sustains any system) is forced to sleep because of अधर्म (the opposite force), I am created (popularly translated as I take birth) to uphold the Good and to destroy the bad deeds. I happen (popularly translated as - I take birth) periodically in every age.

How easy is to see the parallel. If the free space be collected at the same time it is created or if the statistics would be updated at the time data gets added or changed, a database would not need any maintenance. But then the transactions would be slower, thus causing losses of money or time. Not only that, but the maintenance is sometimes more effective when done in bulk. If we were to clean few bytes every time those are freed, the total time for such tiny collections would be much larger than cleaning up huge chunks; same is the case with the statistics. So, in order to optimize the transactional throughput we leave the garbage uncleaned, or let the statistics be stale, thus creating "bad deeds", which eventually hinder the "Good", i.e. efficient operation of database. So, a maintenance task like Vacuum needs to "happen" periodically so as to destroy the "bad deeds" and help the "good". It shouldn't surprise us, the Hindus, that the sages put these words in the mouth of Krishna, who is the reincarnation of Vishnu, depicted as the force "maintaining" the Creation.

The Garbage or "bad deeds" are universal and they need to periodically cleaned. It is everywhere, from our bodies, houses, cities to computer systems. We need to keep maintenance windows for cleaning those periodically. Many scriptures describe these maintenance windows in various ways. Manusmriti (मनुस्मृती), which records the "commandments" of Hindus, explains those as periods of rest. The nights be used for daily maintenance, the period waning of moon (कृष्णपक्ष) be used for monthly maintenance, the period when Sun appears to move towards the South (दक्षिणायन) be used for yearly maintenance (Manusmriti verses 1:65-80). Old testament similarly employs the concept for Sabbath after every seventh day (Exodus 31:12-17, KJV), seventh month and seventh year and so on.

While we ponder over the universality and eternality of the scriptures, a finality strikes. While the database developers try to design their systems so that the they need smaller and smaller maintenance windows, it's important that the application developers too, design the applications such that the databases and other platforms used by the applications get enough maintenance windows; even the God needed to rest on the seventh day, databases are merely mortals!

Saturday, September 27, 2014

न्हाव्याच्या खुर्चीत

"एकदम बारीक काप केस", मी.
"भांग पाडायला ठेवू का?", न्हावी.
"भांग पडला नाही तरी चालेल", मी.
"मशीन लावू का?", न्हावी.
"चालेल", मी.

दरवेळी केस कापायला गेलो की केस कापण्याची सुरुवात या संवादांनी, आणि शेवट,
"ठीक आहेत का?", न्हावी, डोक्याच्या मागे आरसा फिरवत.
"पुढचे केस आणखी कमी चालतील.", मी.
"मग भांग पडणार नाही?", न्हावी.  काम संपलं अशा समजुतीत असणाऱ्या सर्व कामगारांचा (मग तो software engineer का असेना) चेहरा अजून काम बाकी आहे हे कळल्यावर एकसारखाच पडतो.
यानंतर या संवादांचा एकसुरीपणा घालवण्यासाठी, मी "मला कुठे मिरवायला जायचंय", "आठवडाभरात भांग पडायला लागेल, तू काप" इथपासून ते "तुला सुरुवातीलाच तर सांगितलं होतं" इथपर्यंत वेगवेगळी उत्तरं देतो तेव्हातेव्हाच्या मन:स्थितीनुसार देतो. सगळ्याचा शेवट न्हाव्याने माझे केस डोकेसपाट करण्यात होतो. असं हे वर्षानुवर्षं चाललं आहे. न्हावी बदलले, न्हाव्याकडची माणसं बदलली, तरी हे संवाद बदलत नाहीत.

परवा मात्र जरा बदल झाला. न्हाव्याचे मन बंड करून उठले असावे. "पुढच्या वेळी तुम्ही ८-१२ सांगा म्हणजे बरोबर कापतो. पहिल्यांदा भांग पाडण्याजोगे केस ठेवायचे आणि नंतर ते कमी करायचे म्हणजे दुप्पट वेळ जातो." मग सावरून घेत तो म्हणाला, "म्हणजे आमचा काय धंदाच आहे, आम्ही इथेच असतो, पण तुम्ही कशाला तुमचे तास वाया घालवता?". "लेका, तू दरवेळी सांगून पहिल्यांदा केस चुकीचे कापतोस, ती चूक कोणाची?" हे तोंडावर आलेले वाक्य मी गिळले. त्याच्या म्हणण्याप्रमाणे, माझा वेळ वाया जात होता खरे. पण मग इतक्या वर्षांत हे मला का उमगले नाही?

याची गोम न्हाव्याच्या खुर्चीत आहे. या खुर्चीत बसले की डोके अक्षरश: दुसऱ्याकडे गहाण ठेवावे लागते, म्हणजे त्याचे काम संपले. हात, पाय हलवल्यास आपल्यालाच इजा होण्याची शक्यता असते, म्हणजे तेही काम संपले. न्हावी मशीन फरवताना, किंवा कात्री चालवताना कानाचा टवका उडवेल, ही छोटीशी भीती सोडल्यास मनाला आणि शरीराला कुठलेही काम नसल्याने, आपण एकप्रकारच्या ध्यानावस्थेत शिरू लागतो. संसारात कितीही प्रयत्न केले तरीही शक्य नसलेली ही अवस्था इथे विनासायास जमते. एकीकडे डोक्यावरचे ओझे कमी होत जाते, आणि दुसरीकडे डोक्याच्या आतले. तुमचे भाग्य असेल तर समाधीचा अनुभवही येतो. तिथून बाहेर पडताना मन कसे उल्हसित होते. ह्यासाठी तासभराची किंमत काहीच नाही.

"हरकत नाही, तू तुझा वेळ घेत जा", न्हाव्याचा चेहरा आता पारच पडला. मी पुढच्या वेळी ८ - १२ तर सांगणारच नाहीये, उलट १२ - ८ च सांगणार आहे, असा निर्धार करून मी बाहेर पडलो.

Saturday, April 12, 2014

साहेबाच्या देशात

सकाळी फिरायला बाहेर पडलो. बऱ्याच दिवसांच्या पावसानंतर बाहेर पडलेल्या सूर्यनारायणानं, लंडनमध्ये आमचं "उबदार स्वागत" केलं होतं. हेथ्रोवर उतरायच्या आधी विमानातून प्रचंड पावसाने धुतल्या गेलेल्या इंग्लंडचं दर्शन झालं होतं. जिथे पहावं तिथं पावसाचं पाणी साचलेलं, नद्या, नाले, ओढे ओसंडून वाहत होते. पावसाने पूर आला होता. त्या पार्श्वभूमीवर हे स्वागत फारच सुखावह होतं. अशा हवेची मजा घ्यावी‌ म्हणून बाहेर पडलो होतो. मार्च महिना चालू होता, त्यामुळे कितीही ऊन पडलं, ऊन पडलं‌ होतं असं म्हणलं तरीही उत्तम प्रकाश पडला होता, एवढाच त्याचा अर्थ. त्यामुळे सकाळी दहा वाजले तरीही मी थंड हवेची मजा घेत (हे वाक्य ऊष्ण कटीबंधात राहणाऱ्याच्या हातून लिहिलं गेलं आहे, हे वाचकांनी लक्षात घ्यावं), धुक्याच्या दाट आणि विरळ कवचातून मी रमत गमत चाललो होतो. एक छोटी‌ चढण चढून गेलो, आणि अचानक मी एका छोट्या पण टुमदार खेडेगावाच्या वेशीवर पोहोचलो. माझ्या समोर एक रस्ता "भुऱ्या शांततेचा निशिगंध" परिमाळत सुस्तावून पडला होता. त्याच्या दोहो बाजूला विटकरी रंगाच्या टुमदार, कौलारू बंगल्या धुक्यात भिजत होत्या. उंचच उंच झाडं मखमली शेवाळ्याच्या शाली घेऊन उभी होती. गवतावर दवबिंदूंचे मद्य नुसत्या दर्शनाने बेधुंद करत होते. रस्त्याच्या शेवटी एका बागेत घसरगुंडी, sea-saw, jungle gym आणि टायरचा झोका मुलांची वाट बसले होते. स्थळ-काळाचा भेद करणाऱ्या कुठल्याशा भोवऱ्यातून मी माझ्या लहानपणीच्या लोणावळ्यात नाही ना पोचलो अशी मला शंका आली. माझ्या आठवडाभराच्या इंग्लंडच्या भेटीत मला हे भोवरे सतत झोके देत होते, Didcot parkway च्या रेल्वे स्थानकापासून लोणावळयाच्या रेल्वे स्थानकापर्यंत, Paddington terminal पासून CST पर्यंत, लंडनमधल्या गल्ल्यांमधून मुंबईच्या ‌फोर्ट पर्यंत, वर्तमानातून माझ्या बालपणापर्यंत. हा शेवटचा झोका मात्र क्लेशदायक होता. साहेबानं मागे ठेवलेल्या या जपण्यासारख्या खुणा विद्रुप होत नष्ट होताना पाहत मी मोठा झालो आहे.

इंग्लंडच्या ह्या आठवडाभराच्या वास्तव्यात तिथल्या हवेची रोज नवी रुपं पाहिली. पहिल्या दिवशी सूर्यानं उदार होऊन पूर्ण दिवस उजळून टाकला. हा दिवस साजरा करण्यासाठी आम्ही‌ Oxford ला जायचं ठरवलं. मूर्ती लहान आणि कीर्ती महान म्हणजे काय हे Oxford कडे पाहून कळावं. सगळं शहर नुसतं चालत पालथं घालता येतं. इन, मीन पन्नास चौरस किलोमीटरचा विस्तार असलेल्या ह्या शहरात आधुनिक विज्ञानाची बिजं रोवली गेली, आणि त्यातून निर्माण झालेल्या महाकाय वृक्षानं सारं जग बदलून टाकलं. हा महावृक्ष अजूनही इथं जपला जात आहे. ज्या सुमारास भारतातील नालंदा आणि तक्षशीला विद्यापीठांचा आणि पर्यायाने ज्ञानाचा ऱ्हास होत होता किंवा झाला होता, तेव्हा Oxford मध्ये चर्चच्या देखरेखीखाली ज्ञानपीठं तयार होत होती, हे लक्षात आल्यावर दु:ख झालं. पुण्यात जसं पुणे विद्यापीठ कुठे असं विचारलं तर नक्की जागा सांगता येते, तसं काहीसं मला Oxford University च्या बाबतीत अपेक्षित होतं. आमच्या "मलध्वज" वागवणाऱ्या तरुण गाईडनं, तुरुतुरु चालत हे Wadham college, हे Christ Churcha असं इमारतींची नावं घेत अख्खं शहर दाखवलं तरीही Oxford University काही दाखवली नाही. मी तिच्यावर फसवणुकीचा गुऩ्हा दाखल करायच्या विचारात असताना, अचानक माझ्या लक्षात आलं, की हे शहर म्हणजेच विद्यापीठ आहे, शहरात विद्यापीठ आणि विद्यापीठात शहर असं काहीतरी. त्याचे वेगवेगळे विभाग, कुठल्याशा संग्रहालयाच्या इमारतीत, कुठल्याशा चर्चमध्ये, कुण्या उमरावाच्या घरात असे विखुरले आहेत. वेगवेगळ्या प्रांतातल्या सरदार, जहागीरदारांनी, स्वत:चे राज्य अबाधित रहावे, ते चालवण्यासाठी शिकलेली माणसे मिळावीत म्हणून, ह्या शहरात त्या त्या प्रांतातल्या विद्यार्थ्यांना राहण्यासाठी, अभ्यास करण्यासाठी colleges बांधली, तिथे विद्वान tutors ठेवले, आणि तत्कालीन चर्चने धर्मसत्ता अबाधित रहावी‌ म्हणून या colleges मध्ये chaplain ठेवले. या उमरावांनी राजांचे वरदहस्त कसे मिळवले. हा इतिहास ऐकताना ज्ञानकमळाचा उगम कुठल्या चिखलात आहे हे ही चांगलेच समजले. सरते शेवटी‌ Ashmolean संग्रहालयात थोडा वेळ घालवून मी परतलो. हे संग्रहालय अफाट आहे. विविध संस्कृतींचे अवशेष, वस्तू, पुतळे तिथे माहितीसहित भौगोलिक आणि कालक्रमानुसार लावून ठेवले आहेत. वेगवेगळ्या संस्कृतींच्या एकत्र येण्याने झालेली निर्मिती अशा पद्धतीने आणि अशा ठिकाणी मांडली आहे, की ती‌ सांस्कृतिक सरमिसळ तिच्या वैशिष्ट्यांसह लगेच लक्षात यावी. माझ्याकडे जे दोन एक तास होते त्यात मी फक्त एक किंवा दोनच दालने पाहू शकलो, एवढे एकेके दालन मोठे आहे. ज्याला त्या विषयांमध्ये रुची आहे त्याने त्या संग्रहालयात कितीही काळ रमावे, आणि पुऩ्हा कुठलाही मोबदला न देता. त्या दानपेटीत काहीही न टाकल्यास कोणाची नजर तुम्हाला ओशाळे करत नाही.

Harry Potter आणि Sherlock Homes या मला आवडलेल्या दोन उत्तम साहित्यकृतींचा जन्म इंग्लंडमध्ये झाला आहे आणि सुदैवाने दोऩ्ही कलाकृतींसंबंधी एकेक प्रदर्शन इंग्लंडमध्ये आहे. Harry Potter च्या सिनेमांमध्ये वापरल्या गेलेल्या वस्तू (Props), मुखवटे, प्राणी, वेगवेगळे सेट Warner Brothers च्या Studio त जपले आहेत. Sherlock Homes च्या पुस्तकातील Victorian कालखंड 21 Baker Street ह्या पत्त्यावर उभा केला आहे. ह्या दोऩ्ही कलाकृतींचा आस्वाद कितीही‌ वेळा घेतला तरीही अपुराच. ही दोन प्रदर्शने पाहताना, ह्या कलाकृतींच्या वाचिक अनुभवाला आता प्रत्यक्षाची जोड मिळाली. आपल्याकडे व्योमकेश बक्षी, किंवा नारायण धारपांचे समर्थ यांच्याविषयी अशी‌ प्रदर्शने मांडली तर, किंवा एकेकाळी रस्ते ओस पाडणाऱ्या महाभारत आणि रामायण ह्या मालिकांचे अनुभव असे जिवंत करता आले तर?

अमेरिकेची जननी असल्याने, इंग्लंडचा अनुभव आणि अमेरिकेचा अनुभव यांची तुलना होतेच. अमेरिकेपेक्षा मला इंग्लंडचा अनुभव जास्त जवळचा वाटला. अमेरिकेत माणसांमध्ये थोडा उद्दामपणा जाणवतो, तो इंग्लंडमध्ये मुळीच जाणवला नाही. हे निळ्या, घाऱ्या डोळ्य़ांचे लोक अगत्यशील आहेत, एकेकाळी आपण साऱ्या जगावर राज्य केले याचा कुठलाही ताठा मला जाणवला नाही. उलट हे लोक "इंग्रजाने जिथे जिथे राज्य केले" याऐवजी "इंग्रज जिथे जिथे गेला" असा शब्दप्रयोग हटकून आढळला. अमेरिकेत (विशेषत:‌ California) दुसऱ्याच दिवशी मला आई आपल्या मुलीला कुत्र्याला पट्टा लावतात तसा पट्टा लावून हिंडवत आहे, हे पाहून न्याहरीचा पहिलाच घास अडकला होता.तसे इंग्लंडमध्ये मुळीच झाले नाही. उलट बाबा, आई, त्यांची‌ वेगवेगळ्या वयाची मुले, आजी, आजोबा हे सगळे हॉटेलात, सायकलवरून फिरायला एकत्र दिसत होते. Oxford  मध्ये आमच्या गाईडमागून चालणाऱ्यांत मुलगा, सून, सासू आणि सासरे असेही कुटुंब दिसले. ह्यातल्या कोणालाही थोडा राप चढवून भारतीय पोशाखात दामले, लेले वगैरे आडनावं दिली तर कोणीही सहज फसेल. जागेची टंचाई, प्रचंड आयात आणि महागडी‌ राहणी यामुळे हा देश प्रचंड महाग मात्र आहे. त्यामुळेच की काय पण पुरेसा पैसा दाखवल्याशिवाय इंग्लंडचा VISA मिळत नाही.

इंग्लंडमधून निघताना या देशाने मला रुखरुख लावली, कधीकाळी‌ भारतावर पारतंत्र्य लादलेल्या या देशाचे आत्तचे दर्शन मात्र सुखद होते.