TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

MongoDB and Realm make it easy to work with data, together – MongoDB

43 点作者 metheus大约 6 年前

5 条评论

slau大约 6 年前
As an ex-Realmer, I&#x27;d like to congratulate everyone involved in Realm in the past few years. Great engineering talent, extremely dedicated and motivated people. This is the company that has helped me understand the value of good marketing. I&#x27;ve also been inspired by what a good product owner can do.<p>Kudos to everyone. It&#x27;s been a long road, and I&#x27;m glad that the codebase that initially started as a text editor finally found a new home.
jinjin2大约 6 年前
This is awesome! Two of my favorite products joining together. Now I just hope they keep their promise and keep investing in Realm.
lkrubner大约 6 年前
At some point I&#x27;ll write up my notes about how I&#x27;ve been using MongoDB. I&#x27;ve basically given up on SQL databases. Every architecture, for every scale, from small to Enterprise, is really better handled by MongoDB, sometimes in conjunction with Kafka (since any sufficiently large operation is automatically heterogeneous and polyglot, with different database technologies).<p>When you&#x27;re a small startup and you&#x27;re just starting up, you can create a single MongoDB instance (ignore everything about you&#x27;ve heard about Web Scale) and stuff data into it as needed, without thinking much about the structure. You can add in contracts on your database functions, which slowly specify the contract, as you learn more about what your project is really about. To get a sense of that style of development, please see what I wrote in &quot;How ignorant am I, and how do I formally specify that in my code?&quot;<p><a href="http:&#x2F;&#x2F;www.smashcompany.com&#x2F;technology&#x2F;how-ignorant-am-i-and-how-do-i-specify-that" rel="nofollow">http:&#x2F;&#x2F;www.smashcompany.com&#x2F;technology&#x2F;how-ignorant-am-i-and...</a><p>MongoDB is great for ETL. You can pull JSON from 3rd party APIs and store it in its original form, then later transform it into the different forms you need.<p>In large Enterprises, you will inevitably be trying to get multiple services and databases to work together. The old style for dealing with this was the ESB (Enterprise Service Bus) or SOA (Service Oriented Architecture) but in recent years most of the big companies I&#x27;ve worked with have moved toward something like a unified log, as Jay Kreps wrote about in &quot;The Log: What every software engineer should know about real-time data&#x27;s unifying abstraction&quot;. If you haven&#x27;t read that yet, go read it now:<p><a href="https:&#x2F;&#x2F;engineering.linkedin.com&#x2F;distributed-systems&#x2F;log-what-every-software-engineer-should-know-about-real-time-datas-unifying" rel="nofollow">https:&#x2F;&#x2F;engineering.linkedin.com&#x2F;distributed-systems&#x2F;log-wha...</a><p>In this context, MongoDB can offer a flexible cache for the most recent snapshot your service has built, based off of what it read from Kafka.<p>Some people are sabotaged by MongoDB, and they start treating canonical data as a cache. Obviously that leads to disaster. I believe this is what happened to Sarah Mei. Her experiences caused her to write &quot;Why You Should Never Use MongoDB&quot;<p><a href="http:&#x2F;&#x2F;www.sarahmei.com&#x2F;blog&#x2F;2013&#x2F;11&#x2F;11&#x2F;why-you-should-never-use-mongodb&#x2F;" rel="nofollow">http:&#x2F;&#x2F;www.sarahmei.com&#x2F;blog&#x2F;2013&#x2F;11&#x2F;11&#x2F;why-you-should-never...</a><p>The one rule I would suggest is that you always need to be clear, in your own head, which collections are canonical and which are cache. When I talk to teams who are new to this, I tell them to use a naming convention, such as adding a &quot;c_&quot; to the start of every collection that is canonical. All other collections can be assumed to be caches. And the great thing is, it is very cheap to create caches. You can have 20 caches for the same data, in slightly different formats. You can have one cache where the JSON is optimized to what the Web front-end needs, and another cache where the JSON is optimized for the mobile app, and another cache where the JSON is optimized for an API for external partners. Just don&#x27;t fall into the trap that Sarah Mei mentions, where you treat everything as a cache. You need to be clear in your head which data is canonical. If you are using Kafka the way Jay Kreps mentions, then the data in Kafka is canonical and everything in MongoDB is a cache. But at smaller operations, I&#x27;ve used MongoDB to hold both the canonical data and the caches, in different collections.
评论 #19738447 未加载
评论 #19738414 未加载
评论 #19741370 未加载
评论 #19738476 未加载
zubairq大约 6 年前
Can someone confirm that Realm raised USD 40 M and was acquired for USD 39 M?
评论 #19746886 未加载
VWWHFSfQ大约 6 年前
I&#x27;m sure mongodb is fine now but it&#x27;s too late. I don&#x27;t care. I&#x27;ll never use it again or recommend it to anyone