<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MongoDB on heppoko blog</title><link>https://blog-0847c6.gitlab.io/tags/mongodb/</link><description>Recent content in MongoDB on heppoko blog</description><generator>Hugo -- gohugo.io</generator><language>ja-jp</language><lastBuildDate>Tue, 23 May 2023 00:00:00 +0900</lastBuildDate><atom:link href="https://blog-0847c6.gitlab.io/tags/mongodb/index.xml" rel="self" type="application/rss+xml"/><item><title>MongoDB と 2106 年問題</title><link>https://blog-0847c6.gitlab.io/posts/2023/05/23/mongodb/</link><pubDate>Tue, 23 May 2023 00:00:00 +0900</pubDate><guid>https://blog-0847c6.gitlab.io/posts/2023/05/23/mongodb/</guid><description>&lt;p&gt;ボタン電池がなくなり、RTC が遥か未来になったときに MongoDB が動作しなくなりました。（正確には、Python アプリにおいて、MongoDB の初期化を行う際にエラーとなりました。）&lt;/p&gt;
&lt;p&gt;MongoDB のバージョンは 6.0.5 です。&lt;/p&gt;
&lt;p&gt;調べてみると、MongoDB の ObjectID は先頭の4バイトがタイムスタンプ(UNIX タイム)となっているそうです。&lt;br&gt;
MongoDB はこれを符号なし整数として扱っていて、その場合の上限は &lt;code&gt;4,294,967,295&lt;/code&gt; であり、これは UTC で2106年2月7日6時28分16秒となります。&lt;br&gt;
というわけで、MongoDB はいわゆる 2106 年問題を孕んでいることになります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.wdic.org/w/TECH/2106%E5%B9%B4%E5%95%8F%E9%A1%8C" target="_blank" rel="noopener"
 &gt;https://www.wdic.org/w/TECH/2106%E5%B9%B4%E5%95%8F%E9%A1%8C&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ちなみに、4バイトがタイムスタンプを符号付き整数として扱っている場合は 2038 年問題となります。&lt;/p&gt;
&lt;h2 id="参考-url"&gt;&lt;a href="#%e5%8f%82%e8%80%83-url" class="header-anchor"&gt;&lt;/a&gt;参考 URL
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://stackoverflow.com/questions/42097779/how-can-mongodb-handle-objectid-timestamp-beyond-tue-19-jan-2038" target="_blank" rel="noopener"
 &gt;https://stackoverflow.com/questions/42097779/how-can-mongodb-handle-objectid-timestamp-beyond-tue-19-jan-2038&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://jira.mongodb.org/browse/GODRIVER-1092" target="_blank" rel="noopener"
 &gt;https://jira.mongodb.org/browse/GODRIVER-1092&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.wdic.org/w/TECH/2106%E5%B9%B4%E5%95%8F%E9%A1%8C" target="_blank" rel="noopener"
 &gt;https://www.wdic.org/w/TECH/2106%E5%B9%B4%E5%95%8F%E9%A1%8C&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://www.mongodb.com/blog/post/generating-globally-unique-identifiers-for-use-with-mongodb" target="_blank" rel="noopener"
 &gt;https://www.mongodb.com/blog/post/generating-globally-unique-identifiers-for-use-with-mongodb&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>