Perkeep

Last updated
Perkeep
Developer(s) Brad Fitzpatrick
Stable release
0.11 ("Seattle") / 11 November 2020 (2020-11-11)
Preview release
0.11 ("Seattle") / 11 November 2020 (2020-11-11)
Repository
Written in Go
Operating system Cross-platform
Type Data store
License Apache License 2.0
Website perkeep.org

Perkeep (previously Camlistore, Content-Addressable Multi-Layer Indexed Storage) is a set of open-source formats, protocols, and software for modeling, storing, searching, sharing, and synchronizing data. [1]

Contents

Storage

Perkeep's content-addressable storage is based on GPG-signed claims. These claims provide modeling, storing, searching, sharing, and synchronization of data. Perkeep can be thought of as Git for general personal information storage: a user's Perkeep is the main repository. Perkeep is graph-based rather than a working tree in data model terminology. Perkeep can store files like a traditional file system, but it specializes in storing objects such as pictures and videos.

Development

The Perkeep project is under active development led by Brad Fitzpatrick, a former Google employee (originally as a 20% Project), and co-maintainer Mathieu Lonjaret. [2] [3] [4] The project has two goals: expand the standard library of the Go programming language, and implementing Perkeep open source formats, protocols, and software for modeling, storing, searching, sharing of a long-term, personal datastore system.

Related Research Articles

<span class="mw-page-title-main">Apache Subversion</span> Free and open-source software versioning and revision control system

Apache Subversion is a version control system distributed as open source under the Apache License. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS).

rsync File synchronization protocol and software

rsync is a utility for transferring and synchronizing files between a computer and a storage drive and across networked computers by comparing the modification times and sizes of files. It is commonly found on Unix-like operating systems and is under the GPL-3.0-or-later license.

Memcached is a general-purpose distributed memory-caching system. It is often used to speed up dynamic database-driven websites by caching data and objects in RAM to reduce the number of times an external data source must be read. Memcached is free and open-source software, licensed under the Revised BSD license. Memcached runs on Unix-like operating systems and on Microsoft Windows. It depends on the libevent library.

The Media Transfer Protocol (MTP) is an extension to the Picture Transfer Protocol (PTP) communications protocol that allows media files to be transferred automatically to and from portable devices. Whereas PTP was designed for downloading photographs from digital cameras, Media Transfer Protocol allows the transfer of music files on digital audio players and media files on portable media players, as well as personal information on personal digital assistants. MTP is a key part of WMDRM10-PD, a digital rights management (DRM) service for the Windows Media platform. In 2011, it became the standard method to transfer files to and from Android.

Enterprise content management (ECM) extends the concept of content management by adding a timeline for each content item and, possibly, enforcing processes for its creation, approval, and distribution. Systems using ECM generally provide a secure repository for managed items, analog or digital. They also include one methods for importing content to manage new items, and several presentation methods to make items available for use. Although ECM content may be protected by digital rights management (DRM), it is not required. ECM is distinguished from general content management by its cognizance of the processes and procedures of the enterprise for which it is created.

<span class="mw-page-title-main">Git</span> Distributed version control software system

Git is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively.

Content-addressable storage (CAS), also referred to as content-addressed storage or fixed-content storage, is a way to store information so it can be retrieved based on its content, not its name or location. It has been used for high-speed storage and retrieval of fixed content, such as documents stored for compliance with government regulations. Content-addressable storage is similar to content-addressable memory.

The following tables describe attributes of notable version control and software configuration management (SCM) systems that can be used to compare and contrast the various systems.

Microsoft Sync Framework is a data synchronization platform from Microsoft that can be used to synchronize data across multiple data stores. Sync Framework includes a transport-agnostic architecture, into which data store-specific synchronization providers, modelled on the ADO.NET data provider API, can be plugged in. Sync Framework can be used for offline access to data, by working against a cached set of data and submitting the changes to a master database in a batch, as well as to synchronize changes to a data source across all consumers and peer-to-peer synchronization of multiple data sources. Sync Framework features built-in capabilities for conflict detection – whether data to be changed has already been updated – and can flag them for manual inspection or use defined policies to try to resolve the conflict. Sync Services includes an embedded SQL Server Compact database to store metadata about the synchronization relationships as well as about each sync attempt. The Sync Framework API is surfaced both in managed code, for use with .NET Framework applications, as well as unmanaged code, for use with COM applications. It was scheduled to ship with Visual Studio 2008 in late November 2007.

collectd Software for Unix computer systems

collectd is a Unix daemon that collects, transfers and stores performance data of computers and network equipment. The acquired data is meant to help system administrators maintain an overview over available resources to detect existing or looming bottlenecks.

<span class="mw-page-title-main">Ubuntu One</span> Cloud service operated by Canonical Ltd.

Ubuntu One is an OpenID-based single sign-on service operated by Canonical Ltd. to allow users to log onto many Canonical-owned Web sites. Until April 2014, Ubuntu One was also a file hosting service and music store that allowed users to store data "in the cloud".

The following outline is provided as an overview of and topical guide to software:

The Linear Tape File System (LTFS) is a file system that allows files stored on magnetic tape to be accessed in a similar fashion to those on disk or removable flash drives. It requires both a specific format of data on the tape media and software to provide a file system interface to the data.

This is a list of file synchronization software for which there are Wikipedia articles.

In version control systems, a repository is a data structure that stores metadata for a set of files or directory structure. Depending on whether the version control system in use is distributed, like Git or Mercurial, or centralized, like Subversion, CVS, or Perforce, the whole set of information in the repository may be duplicated on every user's system or may be maintained on a single server. Some of the metadata that a repository contains includes, among other things, a historical record of changes in the repository, a set of commit objects, and a set of references to commit objects, called heads.

dconf Low-level configuration system for GNOME

dconf is a low-level configuration system and settings management tool. Its main purpose is to provide a back end to GSettings on platforms that don't already have configuration storage systems. It depends on GLib. It is part of GNOME as of version 3, and is a replacement for GConf.

<span class="mw-page-title-main">InterPlanetary File System</span> Content-addressable, peer-to-peer hypermedia distribution protocol

The InterPlanetary File System (IPFS) is a protocol, hypermedia and file sharing peer-to-peer network for storing and sharing data in a distributed hash table. By using content addressing, IPFS uniquely identifies each file in a global namespace that connects IPFS hosts, creating a resilient system of file storage and sharing.

References

  1. "It's time to finally rename Camlistore". GitHub . Retrieved December 5, 2017.
  2. "LiveJournal creator Brad Fitzpatrick details his open-source digital life backup system". 26 April 2016. Retrieved April 26, 2016.
  3. "Gerrit code review rename to Perkeep.org" . Retrieved December 8, 2017.[ dead link ]
  4. Fitzpatrick, Brad; Lonjaret, Mathieu (April 24, 2016). "LinuxFest Northwest". Archived from the original on 2016-06-25. Retrieved April 27, 2016.