Close
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Subscribe
Logo
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Subscribe
    Home Database
    • Database

    LinkedIn Open-Sources Rocket Data, LayoutKit and More

    Written by

    Darryl K. Taft
    Published July 22, 2016
    Share
    Facebook
    Twitter
    Linkedin

      eWEEK content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

      LinkedIn, which develops lots of robust infrastructure software to maintain the operations of its social networking service, this week continued its strategy of open-sourcing technology with the contribution of Rocket Data to the community.

      Rocket Data is a non-blocking, immutable model management system with a persistent synchronization layer. It can use any cache and has a simple API which easily hooks up to key-value stores, said Peter Livesey, a LinkedIn staff engineer in a blog post.

      Livesey said in early 2015, LinkedIn started rewriting its flagship mobile application and wanted a caching system that would present content to the user, while data was loading from the network.

      LinkedIn looked at Core Data, Apple’s object graph and persistence framework, which is commonly used for this problem, he said. The company has used Core Data in some applications, but Livesey said his team found it to be lacking for their needs. Among the concerns they had were that Core data models are not thread-safe, it does not scale well in large applications and the database needs to be migrated whenever the schema changes.

      “Core Data is a powerful framework, but it pays for this power with complexity,” Livesey said. “The framework is notorious for crashing the application when something goes wrong.”

      Also, Livesey’s team wanted to use immutable models. “Core Data’s programming model relies on mutability, but we wanted to embrace immutability,” he said.

      For the new caching system, LinkedIn decided on the following requirements: Immutable, thread-safe models; consistency among models in both memory and in the cache, so that when a model is updated, all other instances of this model should also update; non-blocking access on all reads and writes; a simple eviction strategy; the ability to scale well with a large number of model types, schema changes and listeners; and automatic migrations.

      They then looked at other options including a simple URL cache, Realm, or simply serializing the models to disk. However, none of these solutions addressed the team’s requirements or provided a solution for keeping immutable models consistent, so the company set about building Rocket Data, which is a non-blocking, immutable model management system with a persistent synchronization layer. It can use any cache and has a simple API which easily hooks up to key-value stores, Livesey said.

      “Using this caching system, we’ve been able to easily add caching to all features with very little additional work from developers,” Lively said in his post. “The cache and data providers are automatically kept consistent across screens. Despite updating the schemas of multiple models every week, we have never needed to add code for any migrations. And best of all, our application has never crashed due to a Core Data exception.”

      Last month, LinkedIn open-sourced LayoutKit, a declarative view layout library for iOS applications, said Nick Snyder, a LinkedIn engineer and co-creator of LayoutKit, in a blog post.

      Snyder said the performance of LinkedIn’s iOS app was lagging and the team realized that the main thread was spending a significant amount of time running Auto Layout. Auto Layout is a layout engine provided by iOS that dynamically calculates the size and position of views on the screen by solving a system of constraints, he said.

      Initially, they tweaked the code and got some performance improvement, but not enough. They also considered manually writing layout code, “but we had also learned that manual layout code can be difficult to maintain,” Snyder said. “We knew that an ideal solution would encapsulate the layout calculations into reusable components while maintaining good performance.”

      Snyder said LinkedIn had four requirements for a new layout engine: It needed to be fast; it needed to support the Swift programming language because it is used extensively at LinkedIn; it needed to be maintained and have non-trivial adoption; and it needed to have an acceptable license.

      “We were not able to find a project that had all of the features we were looking for, so we built LayoutKit,” Snyder said.

      According to Snyder, LayoutKit is fast, asynchronous, declarative and cacheable. It also is tested and production ready, he said. LinkedIn open-sourced the technology at the end of June.

      Also at the end of last month, LinkedIn open-sourced URL-Detector. URL-Detector is a Java library to detect and normalize URLs in text. Because of the scale of its service, LinkedIn checks hundreds of thousands of URLs for malware and phishing every second.

      “In order to guarantee that our members have a safe browsing experience, all user-generated content is checked by a backend service for potentially dangerous content,” said Tzu-Han Jan, a senior software engineer at LinkedIn in a blog post. “As a prerequisite for us to be able to check URLs for bad content at this scale, we need to be able to extract URLs in text at scale.”

      To handle this at scale, LinkedIn created its URL-Detector.

      Darryl K. Taft
      Darryl K. Taft
      Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      MOST POPULAR ARTICLES

      Artificial Intelligence

      9 Best AI 3D Generators You Need...

      Sam Rinko - June 25, 2024 0
      AI 3D Generators are powerful tools for many different industries. Discover the best AI 3D Generators, and learn which is best for your specific use case.
      Read more
      Cloud

      RingCentral Expands Its Collaboration Platform

      Zeus Kerravala - November 22, 2023 0
      RingCentral adds AI-enabled contact center and hybrid event products to its suite of collaboration services.
      Read more
      Artificial Intelligence

      8 Best AI Data Analytics Software &...

      Aminu Abdullahi - January 18, 2024 0
      Learn the top AI data analytics software to use. Compare AI data analytics solutions & features to make the best choice for your business.
      Read more
      Latest News

      Zeus Kerravala on Networking: Multicloud, 5G, and...

      James Maguire - December 16, 2022 0
      I spoke with Zeus Kerravala, industry analyst at ZK Research, about the rapid changes in enterprise networking, as tech advances and digital transformation prompt...
      Read more
      Video

      Datadog President Amit Agarwal on Trends in...

      James Maguire - November 11, 2022 0
      I spoke with Amit Agarwal, President of Datadog, about infrastructure observability, from current trends to key challenges to the future of this rapidly growing...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2024 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.