Nextcloud Server Administration Manual Release Latest

Total Page:16

File Type:pdf, Size:1020Kb

Nextcloud Server Administration Manual Release Latest Nextcloud Server Administration Manual Release latest The Nextcloud developers Oct 10, 2021 CONTENTS 1 Introduction 1 1.1 Videos and blogs.............................................1 1.2 Target audience..............................................1 2 Release notes 3 3 Maintenance and release schedule5 3.1 Major releases..............................................5 3.2 Maintenance releases...........................................5 3.3 Older versions..............................................6 4 Installation and server configuration7 4.1 System requirements...........................................7 4.2 Deployment recommendations......................................9 4.3 Installation on Linux...........................................9 4.4 Installation wizard............................................ 17 4.5 Installing from command line...................................... 21 4.6 Supported apps.............................................. 22 4.7 SELinux configuration.......................................... 24 4.8 NGINX configuration.......................................... 27 4.9 Hardening and security guidance.................................... 35 4.10 Server tuning............................................... 40 4.11 Example installation on Ubuntu 20.04 LTS............................... 42 4.12 Example installation on CentOS 8.................................... 44 5 Nextcloud configuration 49 5.1 Warnings on admin page......................................... 49 5.2 Using the occ command......................................... 51 5.3 Activity app............................................... 77 5.4 Memory caching............................................. 78 5.5 Background jobs............................................. 82 5.6 Configuration Parameters........................................ 85 5.7 Email................................................... 114 5.8 Linking external sites.......................................... 121 5.9 Language & Locale........................................... 124 5.10 Logging.................................................. 125 5.11 Antivirus scanner............................................. 127 5.12 Reverse proxy.............................................. 132 5.13 Brute force protection.......................................... 135 5.14 Automatic setup............................................. 135 i 5.15 Theming................................................. 137 5.16 OAuth2.................................................. 139 6 Apps management 141 6.1 Apps................................................... 141 6.2 Managing apps.............................................. 142 6.3 Using private API............................................ 143 6.4 Using custom app directories...................................... 143 6.5 Using a self hosted apps store...................................... 143 7 User management 145 7.1 User management............................................ 145 7.2 Resetting a lost admin password..................................... 150 7.3 Resetting a user password........................................ 151 7.4 User password policy........................................... 151 7.5 Two-factor authentication........................................ 152 7.6 User authentication with IMAP, SMB, FTP and others......................... 154 7.7 User authentication with LDAP..................................... 154 7.8 LDAP user cleanup............................................ 170 7.9 The LDAP configuration API...................................... 172 7.10 User provisioning API.......................................... 177 8 File sharing and management 197 8.1 File Sharing............................................... 197 8.2 Configuring Federation Sharing..................................... 201 8.3 Uploading big files > 512MB...................................... 206 8.4 Providing default files.......................................... 209 8.5 Configuring Object Storage as Primary Storage............................. 211 8.6 Configuring External Storage (GUI)................................... 214 8.7 External Storage authentication mechanisms.............................. 226 8.8 Encryption configuration......................................... 227 8.9 Encryption details............................................ 235 8.10 Encryption migration........................................... 244 8.11 Transactional file locking........................................ 244 8.12 Previews configuration.......................................... 245 8.13 Controlling file versions and aging.................................... 247 9 File workflows 249 9.1 Files access control............................................ 249 9.2 Automated tagging of files........................................ 252 9.3 Retention of files............................................. 253 10 Groupware 255 10.1 Calendar................................................. 255 11 Database configuration 257 11.1 Converting database type......................................... 257 11.2 Database configuration.......................................... 258 11.3 Enabling MySQL 4-byte support.................................... 265 11.4 BigInt (64bit) identifiers......................................... 266 12 Mimetypes management 267 12.1 Mimetype aliases............................................. 267 12.2 Mimetype mapping............................................ 267 12.3 Icon retrieval............................................... 268 ii 13 Maintenance 269 13.1 Backup.................................................. 269 13.2 Restoring backup............................................. 270 13.3 How to upgrade............................................. 272 13.4 Upgrade via built-in updater....................................... 274 13.5 Upgrade manually............................................ 288 13.6 Upgrade via packages.......................................... 290 13.7 Migrating to a different server...................................... 292 13.8 Migrating from ownCloud........................................ 293 14 Issues and troubleshooting 295 14.1 General troubleshooting......................................... 295 14.2 Code signing............................................... 301 15 GDPR 307 15.1 Cookies.................................................. 307 iii iv CHAPTER ONE INTRODUCTION Welcome to the Nextcloud Server Administration Guide. This guide describes administration tasks for Nextcloud, the flexible open source file synchronization and sharing solution. Nextcloud includes the Nextcloud server, whichruns on Linux, client applications for Microsoft Windows, macOS and Linux, and mobile clients for the Android and Apple iOS operating systems. Current editions of Nextcloud manuals are always available online at docs.nextcloud.com. Nextcloud server is available: • As a free, full featured community-supported server, with all enterprise features. • Or with full enterprise support, including phone and email access to Nextcloud developers. 1.1 Videos and blogs See the official Nextcloud channel on YouTube for tutorials, overviews, and conference videos. Visit Nextcloud Planet for news and developer blogs. 1.2 Target audience This guide is for users who want to install, administer, and optimize their Nextcloud servers. To learn more about the Nextcloud Web user interface, and desktop and mobile clients, please refer to their respective manuals: • Nextcloud User Manual • Nextcloud Desktop Client 1 Nextcloud Server Administration Manual, Release latest 2 Chapter 1. Introduction CHAPTER TWO RELEASE NOTES See the official changelog for release notes. 3 Nextcloud Server Administration Manual, Release latest 4 Chapter 2. Release notes CHAPTER THREE MAINTENANCE AND RELEASE SCHEDULE This page gives an overview of the currently supported and released versions as well as basic release scheduling. release date end of life 21 2021-02-22 2022-02 20 2020-10-03 2021-10 19 2020-06-03 2021-06 Find the detailed schedule for major and maintenance releases at: GitHub. 3.1 Major releases Major releases are typically scheduled once every 4 months with the first 10 weeks being the development phase followed by freeze phase with four beta release, two RCs and one final each one with an interval of 1 week. Specific dates for each release can be found on GitHub. Major releases are planned to be actively maintained for at least 8 months after their release. For long term support options check out the Nextcloud Subscription offered by Nextcloud GmbH. 3.2 Maintenance releases Maintenance releases are scheduled in a 6 week cycle with one week before the release date having the freeze and RC 1. 5 Nextcloud Server Administration Manual, Release latest 3.3 Older versions release date end of life latest version 18 2020-01-16 2021-01 18.0.14 (2021-01-27) 17 2019-09-30 2020-10 17.0.10 (2020-10-08) 16 2019-04-25 2020-06 16.0.11 (2020-06-04) 15 2018-12-10 2019-12 15.0.14 (2019-12-19) 14 2018-09-10 2019-09 14.0.14 (2019-08-15) 13 2018-02-06 2019-02 13.0.12 (2019-02-28) 12 2017-05-22 2018-11 12.0.13 (2018-11-22) 11 2016-12-13 2018-03 11.0.8 (2018-03-15) 10 2016-08-25 2017-08 10.0.6 (2017-08-07) 9.0 2016-03-08 2017-10 9.0.58 (2017-04-24) 8.2 2015-10-20 2017-05 8.2.11 (2017-04-18) 8.1 2015-07-07 2017-02 8.1.12 (2017-02-02) 8.0 2015-02-09 2016-10 8.0.16 (2016-11-08) 7.0 2014-06-23 2016-05 7.0.15 (2016-05-12) 6.0 2013-12-11 2015-09 6.0.9 (2015-07-07) 5.0 2013-03-14 2015-03 5.0.19 (2015-03-11)
Recommended publications
  • Mac OS X Includes Built-In FTP Support, Easily Controlled Within a fifteen-Mile Drive of One-Third of the US Population
    Cover 8.12 / December 2002 ATPM Volume 8, Number 12 About This Particular Macintosh: About the personal computing experience™ ATPM 8.12 / December 2002 1 Cover Cover Art Robert Madill Copyright © 2002 by Grant Osborne1 Belinda Wagner We need new cover art each month. Write to us!2 Edward Goss Tom Iov ino Editorial Staff Daniel Chvatik Publisher/Editor-in-Chief Michael Tsai Contributors Managing Editor Vacant Associate Editor/Reviews Paul Fatula Eric Blair Copy Editors Raena Armitage Ya n i v E i d e l s t e i n Johann Campbell Paul Fatula Ellyn Ritterskamp Mike Flanagan Brooke Smith Matt Johnson Vacant Matthew Glidden Web E ditor Lee Bennett Chris Lawson Publicity Manager Vacant Robert Paul Leitao Webmaster Michael Tsai Robert C. Lewis Beta Testers The Staff Kirk McElhearn Grant Osborne Contributing Editors Ellyn Ritterskamp Sylvester Roque How To Ken Gruberman Charles Ross Charles Ross Gregory Tetrault Vacant Michael Tsai Interviews Vacant David Zatz Legacy Corner Chris Lawson Macintosh users like you Music David Ozab Networking Matthew Glidden Subscriptions Opinion Ellyn Ritterskamp Sign up for free subscriptions using the Mike Shields Web form3 or by e-mail4. Vacant Reviews Eric Blair Where to Find ATPM Kirk McElhearn Online and downloadable issues are Brooke Smith available at http://www.atpm.com. Gregory Tetrault Christopher Turner Chinese translations are available Vacant at http://www.maczin.com. Shareware Robert C. Lewis Technic a l Evan Trent ATPM is a product of ATPM, Inc. Welcome Robert Paul Leitao © 1995–2002, All Rights Reserved Kim Peacock ISSN: 1093-2909 Artwork & Design Production Tools Graphics Director Grant Osborne Acrobat Graphic Design Consultant Jamal Ghandour AppleScript Layout and Design Michael Tsai BBEdit Cartoonist Matt Johnson CVL Blue Apple Icon Designs Mark Robinson CVS Other Art RD Novo DropDMG FileMaker Pro Emeritus FrameMaker+SGML RD Novo iCab 1.
    [Show full text]
  • Moodle for Students-Using MCNY's Course Management System
    for Students USING MCNY’S LEARNING MANAGEMENT SYSTEM moodle.mcny.edu This manual will prepare you to use Moodle, MCNY’s online Learning Management System. You can use Moodle to read lecture notes, participate in discussion forums, turn in assignments, take quizzes, view grades, and communicate with your teacher, your classmates, or anyone in our academic community. The material presented in this manual is generic and applies to fully online, hybrid, and onsite courses, and in all MCNY programs. Please note that, while all students have Moodle accounts and all courses appear in Moodle, professors teaching fully onsite courses may choose not to use Moodle at all. ------------------------------------------------------------------------------------------------------------------------------------------------- Office of E-Learning Dr. Victor Kioulaphides Director, Office of E-Learning [email protected] MOODLE FOR STUDENTS: USING MCNY's LEARNING MANAGEMENT SYSTEM VISIT THE MOODLE SYSTEM AT: HTTP://WWW.MOODLE.MCNY.EDU P a g e | 1 TABLE OF CONTENTS Welcome To Moodle! ..................................................................................................... 2 Technical Requirements And Expectations ............................................................................. 2-3 Accessing Moodle …………………................................................................................................. 4 Moodle Accounts ....................................................................................................................
    [Show full text]
  • Technical Standard
    Technical Standard X/Open Curses, Issue 7 The Open Group ©November 2009, The Open Group All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without the prior permission of the copyright owners. Technical Standard X/Open Curses, Issue 7 ISBN: 1-931624-83-6 Document Number: C094 Published in the U.K. by The Open Group, November 2009. This standardhas been prepared by The Open Group Base Working Group. Feedback relating to the material contained within this standardmay be submitted by using the web site at http://austingroupbugs.net with the Project field set to "Xcurses Issue 7". ii Technical Standard 2009 Contents Chapter 1 Introduction........................................................................................... 1 1.1 This Document ........................................................................................ 1 1.1.1 Relationship to Previous Issues ......................................................... 1 1.1.2 Features Introduced in Issue 7 ........................................................... 2 1.1.3 Features Withdrawn in Issue 7........................................................... 2 1.1.4 Features Introduced in Issue 4 ........................................................... 2 1.2 Conformance............................................................................................ 3 1.2.1 Base Curses Conformance .................................................................
    [Show full text]
  • E-Learning Management System for Community Schools During COVID
    International Journal of Scientific & Engineering Research Volume 12, Issue 3, March-2021 520 ISSN 2229-5518 E-Learning Management System for community schools during COVID-19 pandemic and beyond a review of some open source LMS software Yogendra Singh Parihar, Anand Srivastava, Inder Pal Singh Sethi Abstract— During COVID-19 pandemic the entire conventional learning and education sector faced an unprecedented shutdown. The schools were totally closed during the pandemic. The need of suitable E-learning system over Internet or Learning Management System (LMS) software for conducting managed distance learning at school level was felt during the pandemic period. Students sitting at distinct places can use the LMS for continuing their education. LMS provide opportunity for standard and uniform learning material to the students. It may also be used to evaluate and monitor the learning progress of students. Using the LMS one can achieve improved and smooth learning path. It can also be used along with current pedagogical methods in schools. A wide range of open source software is available for online learning platform. A review of some features of Chamilo, Moodle, ATutor, ILIAS open-source Learning Management Systems (LMS) suitable for school education was conducted which is documented in this paper. Index Terms— ATutor, Chamilo, Covid-19 pandemic, ILIAS ,learning management system, Learning Tools Interoperability, LTI, Moodle, open source, school, Web accessibility. —————————— —————————— 1 INTRODUCTION ntire conventional learning and education sector faced an period so that students sitting at distinct places can use the E- E unprecedented lockdown in the COVID-19 pandemic. The learning system for continuing their education .
    [Show full text]
  • Design Und Implementierung Eines Clients Um Auf Einen Caldav Server Zuzugreifen
    Design und Implementierung eines Clients um auf einen CalDAV Server zuzugreifen Thomas Hunziker Zürich, Schweiz Matrikelnummer: 07-704-844 – Communication Systems Group, Prof. Dr. Burkhard Stiller Betreuer: Martin Waldburger, Hanspeter Kunz ERTIEFUNGSARBEIT V Abgabedatum: 31. Dezember 2011 Universität Zürich Institut für Informatik (IFI) Binzmühlestrasse 14, CH-8050 Zürich, Schweiz Vertiefungsarbeit Communication Systems Group (CSG) Institut für Informatik (IFI) Universität Zürich Binzmühlestrasse 14, CH-8050 Zürich, Schweiz URL: http://www.csg.uzh.ch/ Kurzfassung Das Institut fur¨ Informatik (IFI) der Universit¨at Zurich¨ stellt seinen Mitarbeitern einen Kalenderserver zur Verfugung.¨ Die Mitarbeiter sollen nicht nur mit den g¨angigen CalDAV Clients auf den Server zugreifen k¨onnen, sondern auch mit einem Webinterface. Diese Arbeit stellt eine Bibliothek fur¨ den Zugriff auf einen CalDAV Server zur Verfugung.¨ Durch eine flexible und anpassbare Architektur soll gew¨ahrleistet werden, dass die Biblio- thek durch Erweiterungen auf die Bedurfnisse¨ unterschiedlicher Anwendungen angepasst werden kann. Als Erstes werden bestehende PHP Applikationen und Bibliotheken, die auf einen CalDAV Server zugreifen, beschrieben und evaluiert. Im Anschluss wird die gew¨ahlte Implemen- tierung und deren Herausforderungen beschrieben. Abschliessend wird ein Fazit uber¨ den aktuellen Stand der Bibliothek gezogen und die weiteren Arbeiten aufgezeigt. i ii Inhaltsverzeichnis Abstract i 1 Einfuhrung¨ 1 1.1 Motivation.................................... 1 1.2 Beschreibung des Arbeitsumfangs und der Anforderungen . 2 1.3 Uberblick¨ .................................... 3 2 Verwandte Applikationen 5 2.1 DAViCalClient................................. 5 2.2 AgenDAV Client . 6 2.3 SabreDAVWebDavClient ........................... 7 2.4 Schlussfolgerung................................. 7 3 Implementierung 9 3.1 RelevanteRFC ................................. 9 3.1.1 WebDAV (RFC 4918) . 9 3.1.2 CalDAV (RFC 4791) .
    [Show full text]
  • Nextcloud Desktop Client for Linux
    EOAS Help Desk Portal > Knowledgebase > Linux > NextCloud desktop client for Linux NextCloud desktop client for Linux Tom Yerex - 2020-02-19 - 0 Comments - in Linux Access to the EOAS NextCloud server can occur over several different protocols including WebDAV and over the web using a browser. The NextCloud desktop client synchronizes files and folders from your Linux workstation to the NextCloud server. Once the Linux desktop client is installed and you have it configured, the client will periodically check the server for updated files, as well as copy updated files from your workstation to the server. To begin to use the NextCloud Linux desktop client, visit the NextCloud web site at https://nextcloud.com/install/#install-clients, select Linux , on the same page below read the paragraph about Nextcloud Desktop client packages for your Linux distribution. Once you have downloaded the client specific to your operating system, you must follow the distribution-specific steps for installing the client. The desktop agent will prompt at launch for the server address, user name, password, and finally the files/folders that you wish to synchronize. Server: owncloud.eoas.ubc.ca User name: <your EOAS account> Password: <your EOAS password> Once the initial configuration is complete, the NextCloud desktop client will begin to synchronize files/folders with the server, pulling down any files that you may have on the server as well as uploading any new files you have on your local desktop. If you have any questions or concerns, please contact the EOAS IT Help Desk, by email at [email protected], or by using our contact form..
    [Show full text]
  • The Lightning Memory-Mapped Database
    The Lightning Memory-Mapped Database Howard Chu CTO, Symas Corp. [email protected] Chief Architect, OpenLDAP [email protected] 2015-09-21 OpenLDAP Project ● Open source code project ● Founded 1998 ● Three core team members ● A dozen or so contributors ● Feature releases every 12-18 months ● Maintenance releases as needed 2 A Word About Symas ● Founded 1999 ● Founders from Enterprise Software world – platinum Technology (Locus Computing) – IBM ● Howard joined OpenLDAP in 1999 – One of the Core Team members – Appointed Chief Architect January 2007 ● No debt, no VC investments: self-funded 3 Intro ● Howard Chu – Founder and CTO Symas Corp. – Developing Free/Open Source software since 1980s ● GNU compiler toolchain, e.g. "gmake -j", etc. ● Many other projects... – Worked for NASA/JPL, wrote software for Space Shuttle, etc. 4 Topics (1) Background (2) Features (3) Design Approach (4) Internals (5) Special Features (6) Results 5 (1) Background ● API inspired by Berkeley DB (BDB) – OpenLDAP has used BDB extensively since 1999 – Deep experience with pros and cons of BDB design and implementation – Omits BDB features that were found to be of no benefit ● e.g. extensible hashing – Avoids BDB characteristics that were problematic ● e.g. cache tuning, complex locking, transaction logs, recovery 6 (2) Features LMDB At A Glance ● Key/Value store using B+trees ● Fully transactional, ACID compliant ● MVCC, readers never block ● Uses memory-mapped files, needs no tuning ● Crash-proof, no recovery needed after restart ● Highly optimized, extremely compact – under 40KB object code, fits in CPU L1 I$ ● Runs on most modern OSs – Linux, Android, *BSD, MacOSX, iOS, Solaris, Windows, etc..
    [Show full text]
  • Bleach Documentation Release 3.0.1 20181009
    Bleach Documentation Release 3.0.1 20181009 Will Kahn-Greene Oct 09, 2018 Contents 1 Reporting Bugs 3 2 Security 5 3 Installing Bleach 7 4 Upgrading Bleach 9 5 Basic use 11 6 Code of conduct 13 7 Contents 15 7.1 Sanitizing text fragments......................................... 15 7.2 Linkifying text fragments........................................ 23 7.3 Goals of Bleach............................................. 29 7.4 Bleach development........................................... 32 7.5 Bleach changes.............................................. 34 8 Indices and tables 43 i ii Bleach Documentation, Release 3.0.1 20181009 Bleach is an allowed-list-based HTML sanitizing library that escapes or strips markup and attributes. Bleach can also linkify text safely, applying filters that Django’s urlize filter cannot, and optionally setting rel attributes, even on links already in the text. Bleach is intended for sanitizing text from untrusted sources. If you find yourself jumping through hoops to allow your site administrators to do lots of things, you’re probably outside the use cases. Either trust those users, or don’t. Because it relies on html5lib, Bleach is as good as modern browsers at dealing with weird, quirky HTML fragments. And any of Bleach’s methods will fix unbalanced or mis-nested tags. The version on GitHub is the most up-to-date and contains the latest bug fixes. You can find full documentation on ReadTheDocs. Code https://github.com/mozilla/bleach Documentation https://bleach.readthedocs.io/ Issue tracker https://github.com/mozilla/bleach/issues IRC #bleach on irc.mozilla.org License Apache License v2; see LICENSE file Contents 1 Bleach Documentation, Release 3.0.1 20181009 2 Contents CHAPTER 1 Reporting Bugs For regular bugs, please report them in our issue tracker.
    [Show full text]
  • Server Administration Manual Release Latest
    Nextcloud Server Administration Manual Release latest The Nextcloud developers Oct 01, 2021 CONTENTS 1 Introduction 1 1.1 Videos and blogs.............................................1 1.2 Target audience..............................................1 2 Release notes 3 3 Maintenance and release schedule5 3.1 Major releases..............................................5 3.2 Maintenance releases...........................................5 3.3 Older versions..............................................6 4 Installation and server configuration7 4.1 System requirements...........................................7 4.2 Deployment recommendations......................................9 4.3 Installation on Linux...........................................9 4.4 Installation wizard............................................ 17 4.5 Installing from command line...................................... 21 4.6 Supported apps.............................................. 22 4.7 SELinux configuration.......................................... 24 4.8 NGINX configuration.......................................... 27 4.9 Hardening and security guidance.................................... 36 4.10 Server tuning............................................... 40 4.11 Example installation on Ubuntu 20.04 LTS............................... 42 4.12 Example installation on CentOS 8.................................... 44 4.13 Example installation on OpenBSD.................................... 48 5 Nextcloud configuration 53 5.1 Warnings on admin page........................................
    [Show full text]
  • A Study of Cryptographic File Systems in Userspace
    Turkish Journal of Computer and Mathematics Education Vol.12 No.10 (2021), 4507-4513 Research Article A study of cryptographic file systems in userspace a b c d e f Sahil Naphade , Ajinkya Kulkarni Yash Kulkarni , Yash Patil , Kaushik Lathiya , Sachin Pande a Department of Information Technology PICT, Pune, India [email protected] b Department of Information Technology PICT, Pune, India [email protected] c Department of Information Technology PICT, Pune, India [email protected] d Department of Information Technology PICT, Pune, India [email protected] e Veritas Technologies Pune, India, [email protected] f Department of Information Technology PICT, Pune, India [email protected] Article History: Received: 10 January 2021; Revised: 12 February 2021; Accepted: 27 March 2021; Published online: 28 April 2021 Abstract: With the advancements in technology and digitization, the data storage needs are expanding; along with the data breaches which can expose sensitive data to the world. Thus, the security of the stored data is extremely important. Conventionally, there are two methods of storage of the data, the first being hiding the data and the second being encryption of the data. However, finding out hidden data is simple, and thus, is very unreliable. The second method, which is encryption, allows for accessing the data by only the person who encrypted the data using his passkey, thus allowing for higher security. Typically, a file system is implemented in the kernel of the operating systems. However, with an increase in the complexity of the traditional file systems like ext3 and ext4, the ones that are based in the userspace of the OS are now allowing for additional features on top of them, such as encryption-decryption and compression.
    [Show full text]
  • Synchronizing Threads with POSIX Semaphores
    3/17/2016 POSIX Semaphores Synchronizing Threads with POSIX Semaphores 1. Why semaphores? 2. Posix semaphores are easy to use sem_init sem_wait sem_post sem_getvalue sem_destroy 3. Activities 1 2 Now it is time to take a look at some code that does something a little unexpected. The program badcnt.c creates two new threads, both of which increment a global variable called cnt exactly NITER, with NITER = 1,000,000. But the program produces unexpected results. Activity 1. Create a directory called posixsem in your class Unix directory. Download in this directory the code badcnt.c and compile it using gcc badcnt.c -o badcnt -lpthread Run the executable badcnt and observe the ouput. Try it on both tanner and felix. Quite unexpected! Since cnt starts at 0, and both threads increment it NITER times, we should see cnt equal to 2*NITER at the end of the program. What happens? Threads can greatly simplify writing elegant and efficient programs. However, there are problems when multiple threads share a common address space, like the variable cnt in our earlier example. To understand what might happen, let us analyze this simple piece of code: THREAD 1 THREAD 2 a = data; b = data; a++; b--; data = a; data = b; Now if this code is executed serially (for instance, THREAD 1 first and then THREAD 2), there are no problems. However threads execute in an arbitrary order, so consider the following situation: Thread 1 Thread 2 data a = data; --- 0 a = a+1; --- 0 --- b = data; // 0 0 --- b = b + 1; 0 data = a; // 1 --- 1 --- data = b; // 1 1 So data could end up +1, 0, -1, and there is NO WAY to know which value! It is completely non- deterministic! http://www.csc.villanova.edu/~mdamian/threads/posixsem.html 1/4 3/17/2016 POSIX Semaphores The solution to this is to provide functions that will block a thread if another thread is accessing data that it is using.
    [Show full text]
  • Oracle & Innodb
    MySQL for the SQL Server DBA Mike Frank, Product Manager - Oracle/MySQL Agenda • MySQL Overview • Use Cases • Comparing Feature Sets • Tools Overview • Next Steps © 2010 Oracle Corporation 2 About MySQL • 15 years of development • 1412 Years million of active Development installations • 750+70,000+ Partners downloads each day • 70K+#3 most Downloads deployed database Per Day • Up to 90% lower TCO than proprietary database offerings Customers across every major operating system, hardware Customersvendor, across geography, every industry,major operating and application system, hardwaretype vendor, geography, industry, and application type High Performance. Reliable. Easy to Use. © 2010 Oracle Corporation 3 Industry Leading Customers Web / Web 2.0 OEM / ISV's SaaS, Hosting, Cloud Computing Telecommunications Enterprise 2.0 © 2010 Oracle Corporation 4 Why MySQL? © 2010 Oracle Corporation 5 Why MySQL? • Lower TCO • Performance – “Up to 90% Faster Query Response Times” • Scalability – “Up to 16-way x86 Servers” – “Up to 64-way CMT Servers” • Reliability – Up to five 9s with MySQL Cluster • Ease of Use – Up and running in 15 minutes – MySQL Enterprise Monitor – MySQL Workbench • Open Source http://www.mysql.com/why-mysql/benchmarks/ © 2010 Oracle Corporation 6 Popular on Windows • 45,000 downloads per day for Windows packages • Server • Tools • Connectors • MySQL Survey 2009 • 66% percent used Windows for development • 48% deployed on Windows for production © 2010 Oracle Corporation 7 Lower Total Cost of Ownership • Compared to SQL Server Enterprise Edition • Per Server vs Per CPU • No Upfront Licensing • Example: – 6 Servers – 2 CPUs per Server – 88% Savings! • MySQL Enterprise – 24x7 Production Support – Enterprise Monitor – Enterprise Binaries • MySQL Enterprise Unlimited – Unlimited Servers at a Low Fixed Cost © 2010 Oracle Corporation 8 Use Cases/Application Scenarios © 2010 Oracle Corporation 9 Why MySQL? - Web Infrastructure 1.
    [Show full text]