{"id":148,"date":"2009-06-18T16:20:11","date_gmt":"2009-06-18T15:20:11","guid":{"rendered":"https:\/\/www.alldb.fr\/blogs\/?p=148"},"modified":"2023-04-20T07:04:29","modified_gmt":"2023-04-20T06:04:29","slug":"sybase-ase-direct-io-dsync-onoff-raw-device","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/","title":{"rendered":"Direct i\/o, dsync on\/off, raw device"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F148&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F148&#038;title=Direct%20i%2Fo%2C%20dsync%20on%2Foff%2C%20raw%20device\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Direct%20i%2Fo%2C%20dsync%20on%2Foff%2C%20raw%20device&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F148\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a><p>Il y a depuis 2 ans et encore aujourd&#8217;hui un gros d\u00e9bat sur l&#8217;avenir du direct IO sur Linux dans la communaut\u00e9 des d\u00e9veloppeurs kernel (cf post Linus <a title=\"LKML.org\" href=\"https:\/\/lkml.org\/lkml\/2007\/1\/10\/233\"><em>https:\/\/lkml.org\/lkml\/2007\/1\/10\/233<\/em><\/a>) . L&#8217;avenir du raw device lui ne se pose m\u00eame plus puisque Red Hat ne le supporte plus que du bout des doigts (cf la manpage  de raw en RHEL5):<\/p>\n<p><strong>WARNING<\/strong><br \/>\n<em>Although  Linux  includes support for rawio, it is now a deprecated interface. If your application performs device access using this interface, Red Hat encourages you to modify your application to open the block device with the O_DIRECT flag. The rawio interface will exist for the life of Red Hat Enterprise Linux 5, but is a candi-<br \/>\ndate for removal from future releases.<\/em><\/p>\n<p>Le b\u00e9n\u00e9fice du raw device n&#8217;est pas nouveau, que ce soit pour Adaptive Server ou Oracle, le fait d&#8217;\u00e9crire directement sur la partition brute a deux avantages majeurs pour les SGBD:<br \/>\n1 &#8211; Ca va plus vite.<br \/>\n2 &#8211; Ca garantit que ce que l&#8217;on \u00e9crit va bien sur le disque et non dans un buffer en m\u00e9moire. En effet, le syst\u00e8me de base de donn\u00e9es g\u00e8re lui-m\u00eame la bufferisation de ses pages de donn\u00e9es et d&#8217;indexes, et ne doit pas se reposer sur le syst\u00e8me pour \u00e7a.<\/p>\n<p>A partir du moment o\u00f9 le raw device cesse d&#8217;\u00eatre support\u00e9, on va devoir \u00e9crire dans un fichier, et qui dit \u00e9criture dans un fichier sous UNIX\/Linux dit \u00e9criture bufferis\u00e9e. C&#8217;est l\u00e0 o\u00f9 le crit\u00e8re 2 n&#8217;est plus garanti.<\/p>\n<p>Il reste alors deux solutions qui vont nous permettre de garantir cel\u00e0: DIRECTIO ou DSYNC. Ce sont en fait des arguments qui vont \u00eatre pass\u00e9s \u00e0 la primitive d&#8217;ouverture du fichier, le plus souvent open(), sous la forme de flags: O_DIRECT, O_DSYNC ou O_ASYNC.<\/p>\n<p>A travers Adaptive Server, ces arguments seront manipul\u00e9s lors de la cr\u00e9ation de devices avec la commande disk init:<\/p>\n<pre>disk init name='PERFSTATS_data01', physname='\/sybase_data\/ASE1502\/userdb\/PERFSTATS_data01.dat',\r\nsize=512000,\r\ndirectio=true<\/pre>\n<p>ou<\/p>\n<pre>disk init name='PERFSTATS_data01', physname='\/sybase_data\/ASE1502\/userdb\/PERFSTATS_data01.dat',\r\nsize=512000,\r\ndsync=true<\/pre>\n<p>On ne peut pas utiliser \u00e0 la fois directio=true et dsync=true pour le m\u00eame device, les options sont mutuellement exclusives.<\/p>\n<p><strong>DIRECTIO<\/strong>:<br \/>\nLorsque directio est \u00e0 true, le fichier PERFSTATS_data01.dat sera ouvert avec le flag O_DIRECT:<\/p>\n<pre>open(\"\/sybase_log\/ASE1502\/userdb\/PERFSTATS_data01.dat\", O_RDWR|O_SYNC|O_DIRECT|O_LARGEFILE) = 17<\/pre>\n<p>Lorsque la primitive d&#8217;\u00e9criture est invoqu\u00e9e (write(), aiowrite()), l&#8217;\u00e9criture va directement sur le disque. Donc s\u00e9mantiquement \u00e9quivalent \u00e0 ce que donne une \u00e9criture sur un raw device, \u00e0 la fois en termes de performances et de garantie.<\/p>\n<p><strong>DSYNC:<\/strong><br \/>\nLorsque dsync est \u00e0 true, le fichier PERFSTATS_data01.dat sera ouvert avec le flag O_DSYNC:<\/p>\n<pre>open(\"\/sybase_log\/ASE1502\/userdb\/PERFSTATS_data01.dat\", O_RDWR|O_DSYNC|O_LARGEFILE) = 17<\/pre>\n<p>Lorsque dsync est \u00e0 false, le fichier PERFSTATS_data01.dat sera ouvert avec le flag O_ASYNC:<\/p>\n<pre>open(\"\/sybase_log\/ASE1502\/userdb\/PERFSTATS_data01.dat\", O_RDWR|O_ASYNC|O_LARGEFILE) = 17<\/pre>\n<p>Lorsque la primitive d&#8217;\u00e9criture est invoqu\u00e9e, l&#8217;\u00e9criture sera bufferis\u00e9e mais en fonction de la valeur pass\u00e9e \u00e0 disk init (true  ou false),  certains \u00e9l\u00e9ments vont \u00eatre synchronis\u00e9s sur disque avant que aiowrite() ne revienne au programme appelant.<br \/>\n<em><strong>&#8211; dsync=true<\/strong><\/em>: alors le flag O_DSYNC est pass\u00e9 \u00e0 open(). Ce flag garantit que write() reste en attente tant que les donn\u00e9es n&#8217;ont pas \u00e9t\u00e9 synchronis\u00e9es sur disque.<br \/>\n<em><strong>&#8211; dsync=false:<\/strong><\/em> alors le flag O_ASYNC est pass\u00e9 \u00e0 open(). Ce flag indique que write() rend la main une fois l&#8217;\u00e9criture bufferis\u00e9e mais AVANT la synchronisation sur disque, ce qui ne garantit pas notre crit\u00e8re 2.<\/p>\n<p>On recommandera toujours de mettre dsync=true pour les devices de donn\u00e9es et de journaux pour avoir la garantie d&#8217;\u00e9criture stabilis\u00e9e, et dsync=false pour les devices tempdb pour favoriser la perf.<\/p>\n<p><strong>&#8211; Avantages \/ Inconv\u00e9nients pour le DSYNC: <\/strong><br \/>\n<em><strong>Avantages<\/strong><\/em>: c&#8217;est compl\u00e8tement support\u00e9 par les file system.<br \/>\n<em><strong>Inconv\u00e9nients<\/strong><\/em>: C&#8217;est moins performant en \u00e9criture.<\/p>\n<p><strong>&#8211; Avantages \/ Inconv\u00e9nients pour le DIRECTIO: <\/strong><br \/>\n<em><strong>Avantages<\/strong><\/em>: c&#8217;est comme du raw device, sauf que c&#8217;est dans un fichier. C&#8217;est m\u00eame plus efficace en lecture.<br \/>\n<em><strong>Inconv\u00e9nients<\/strong><\/em>: il faut que le filesystem le supporte (c&#8217;est le cas pour ext3), et d&#8217;apr\u00e8s Linus l&#8217;impl\u00e9mentation de directio au niveau du kernel est \u00e9pouvantable. Le probl\u00e8me c&#8217;est que ce qu&#8217;il indique comme contournement \u00e0 destination des d\u00e9veloppeurs ASE (Wim Ten Have et Dave Wein en t\u00eate) n&#8217;est pas vraiment applicable.<\/p>\n<p>Pas de doute, le DIRECTIO reste la meilleure option.  Ce sera s\u00fbrement r\u00e9\u00e9crit un jour, mais pour l&#8217;instant on n&#8217;a pas trouv\u00e9 mieux.<\/p>\n<p>Un dernier mot sur le dsync=true sur les noyaux 2.6+, l&#8217;\u00e9criture asynchrone se transforme en \u00e9criture synchrone et les perfs chutent  :-((( . Il faut vraiment utiliser directio sur les noyaux r\u00e9cents. Ce sera peut \u00eatre le sujet d&#8217;un prochain post sur ASE.<\/p>\n<p>A+ [ David B. ]<\/p>\n<p> <script type=\"text\/javascript\" src=\"https:\/\/tcr.tynt.com\/javascripts\/Tracer.js?user=d4FlbGI04r35lZadbi-bpO\"><\/script><\/p>\n<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F148&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F148&#038;title=Direct%20i%2Fo%2C%20dsync%20on%2Foff%2C%20raw%20device\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Direct%20i%2Fo%2C%20dsync%20on%2Foff%2C%20raw%20device&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F148\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>Il y a depuis 2 ans et encore aujourd&#8217;hui un gros d\u00e9bat sur l&#8217;avenir du direct IO sur Linux dans la communaut\u00e9 des d\u00e9veloppeurs kernel (cf post Linus https:\/\/lkml.org\/lkml\/2007\/1\/10\/233) . L&#8217;avenir du raw device lui ne se pose m\u00eame plus&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":7981,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,450],"tags":[34,35,36,30],"class_list":["post-148","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sybase","category-vintage","tag-directio","tag-dsync","tag-kernel","tag-linux"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Direct i\/o, dsync on\/off, raw device - Capdata TECH BLOG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Direct i\/o, dsync on\/off, raw device - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"Il y a depuis 2 ans et encore aujourd&#8217;hui un gros d\u00e9bat sur l&#8217;avenir du direct IO sur Linux dans la communaut\u00e9 des d\u00e9veloppeurs kernel (cf post Linus https:\/\/lkml.org\/lkml\/2007\/1\/10\/233) . L&#8217;avenir du raw device lui ne se pose m\u00eame plus&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2009-06-18T15:20:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-04-20T06:04:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2009\/06\/hdd.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"425\" \/>\n\t<meta property=\"og:image:height\" content=\"294\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"David Baffaleuf\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Baffaleuf\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/\"},\"author\":{\"name\":\"David Baffaleuf\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf\"},\"headline\":\"Direct i\/o, dsync on\/off, raw device\",\"datePublished\":\"2009-06-18T15:20:11+00:00\",\"dateModified\":\"2023-04-20T06:04:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/\"},\"wordCount\":777,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"keywords\":[\"directio\",\"dsync\",\"kernel\",\"linux\"],\"articleSection\":[\"Sybase\",\"Vintage\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/\",\"name\":\"Direct i\/o, dsync on\/off, raw device - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2009-06-18T15:20:11+00:00\",\"dateModified\":\"2023-04-20T06:04:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Direct i\/o, dsync on\/off, raw device\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.capdata.fr\/#website\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"name\":\"Capdata TECH BLOG\",\"description\":\"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting\",\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.capdata.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.capdata.fr\/#organization\",\"name\":\"Capdata TECH BLOG\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"contentUrl\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"width\":800,\"height\":254,\"caption\":\"Capdata TECH BLOG\"},\"image\":{\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf\",\"name\":\"David Baffaleuf\",\"sameAs\":[\"http:\/\/www.capdata.fr\"],\"url\":\"https:\/\/blog.capdata.fr\/index.php\/author\/dbaffaleuf\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Direct i\/o, dsync on\/off, raw device - Capdata TECH BLOG","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/","og_locale":"fr_FR","og_type":"article","og_title":"Direct i\/o, dsync on\/off, raw device - Capdata TECH BLOG","og_description":"Il y a depuis 2 ans et encore aujourd&#8217;hui un gros d\u00e9bat sur l&#8217;avenir du direct IO sur Linux dans la communaut\u00e9 des d\u00e9veloppeurs kernel (cf post Linus https:\/\/lkml.org\/lkml\/2007\/1\/10\/233) . L&#8217;avenir du raw device lui ne se pose m\u00eame plus&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2009-06-18T15:20:11+00:00","article_modified_time":"2023-04-20T06:04:29+00:00","og_image":[{"width":425,"height":294,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2009\/06\/hdd.jpg","type":"image\/jpeg"}],"author":"David Baffaleuf","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"David Baffaleuf","Dur\u00e9e de lecture estim\u00e9e":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/"},"author":{"name":"David Baffaleuf","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf"},"headline":"Direct i\/o, dsync on\/off, raw device","datePublished":"2009-06-18T15:20:11+00:00","dateModified":"2023-04-20T06:04:29+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/"},"wordCount":777,"commentCount":2,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"keywords":["directio","dsync","kernel","linux"],"articleSection":["Sybase","Vintage"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/","url":"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/","name":"Direct i\/o, dsync on\/off, raw device - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2009-06-18T15:20:11+00:00","dateModified":"2023-04-20T06:04:29+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/sybase-ase-direct-io-dsync-onoff-raw-device\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"Direct i\/o, dsync on\/off, raw device"}]},{"@type":"WebSite","@id":"https:\/\/blog.capdata.fr\/#website","url":"https:\/\/blog.capdata.fr\/","name":"Capdata TECH BLOG","description":"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting","publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.capdata.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.capdata.fr\/#organization","name":"Capdata TECH BLOG","url":"https:\/\/blog.capdata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","contentUrl":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","width":800,"height":254,"caption":"Capdata TECH BLOG"},"image":{"@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/136297da9f61d6e4878abe0f48bc5fbf","name":"David Baffaleuf","sameAs":["http:\/\/www.capdata.fr"],"url":"https:\/\/blog.capdata.fr\/index.php\/author\/dbaffaleuf\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/148","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=148"}],"version-history":[{"count":17,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/148\/revisions"}],"predecessor-version":[{"id":9538,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/148\/revisions\/9538"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/7981"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=148"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=148"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=148"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}