DML without limits, now in BigQuery

Data manipulation language (DML) statements in BigQuery, such as INSERT, UPDATE, DELETE, and MERGE, enable users to add, modify, and delete data stored in BigQuery, Google Cloud’s enterprise data warehouse. DML in BigQuery supports inserting, updating, or deleting an arbitrarily large number of rows in a table in a single job. We are constantly making improvements to our DML functionality for better performance, scalability, and volume. We on the BigQuery team are happy to announce that we have removed all quota limits for DML operations, so BigQuery can now support an unlimited number of DML statements on a table. With this release, you can update your tables at a higher frequency without running into conflicts between different updates. Specifically, for scenarios like change data capture, this allows you to apply the changes more frequently, thus allowing you to get improved freshness for your data.In this blog, we’ll describe the changes made to BigQuery that make this possible. We will refer to UPDATE, MERGE and DELETE as mutating DML statements to differentiate them from INSERT DML statements, which only add new rows to a table.Execution of a DML statementBigQuery is a multi-version database. Any transaction that modifies or adds rows to a table is ACID-compliant. BigQuery uses snapshot isolation to handle multiple concurrent operations on a table. DML operations can be submitted to BigQuery by sending a query job containing the DML statement. When a job starts, BigQuery determines the snapshot timestamp to use to read the tables used in the query. Unless the input tables used in a query explicitly specify a snapshot timestamp (using FOR SYSTEM_TIME AS OF), BigQuery will use this snapshot timestamp for reading a table. This timestamp determines the snapshot of the data in the table for the job to operate on. Specifically, for the table that is the target of the DML statement, BigQuery attempts to apply the mutations produced by it on this snapshot. Rather than table locking, BigQuery uses a form of optimistic concurrency control. At the time of committing the job, BigQuery checks if the mutations generated by this job conflict with any other mutations performed on this table while this job was running. If there is a conflict, it aborts the commit operation and retries the job. Thus, the first job to commit wins. This could mean that if you run a lot of short DML mutation operations, you could starve longer-running ones. Automatic retry on concurrent update failuresRunning two mutating DML statements concurrently against a table will succeed as long as the two statements don’t modify data in the same partition. Two jobs that try to mutate the same partition may sometimes experience concurrent update failures. In the past, BigQuery failed such concurrent update operations. Applications would have to retry the operation. BigQuery now handles such failures automatically. To do this, BigQuery will restart the job, first determining a new snapshot timestamp to use for reading the tables used in the query. It then applies the mutations on the new snapshot, using the process described above. BigQuery will retry concurrent update failures on a table up to three times. This change significantly reduces the number of concurrent update errors seen by users.Queuing of mutating DML statementsPreviously, BigQuery allowed up to 1,000 DML statements to the table during any 24-hour period. BigQuery no longer imposes such quota limits. To achieve this, BigQuery runs a fixed number of mutating DML statements concurrently against a table at any point. Any additional mutating DML jobs against that table will be automatically queued in PENDING state. Once a previously running job finishes, the next PENDING job is de-queued and run. In practice, this new queueing behavior can make it seem like DML operations are taking longer, since they can exist in PENDING state while waiting for other operations to complete. If you want to check whether this is happening, you can look up the state of your DML jobs. If the job state is PENDING, then there is a good chance that this is the reason. Moreover, you can inspect this information after the fact. There are three times that get recorded in job statistics: creation time, which is the time the BigQuery servers received the request to run a job; start time, which is the time the job began executing in RUNNING state; and end time, which is the time the query completed. If there is a gap between creation time and start time, then the job was queued for some reason.BigQuery allows up to 20 such jobs to be queued in PENDING state for each table. Concurrently running load jobs or INSERT DML statements against this table are not considered when computing the 20-job limit, since they can start immediately and do not affect the execution of mutation operations. INSERT DML statementsBigQuery generally does not limit the number of concurrent INSERT DML statements that write to a single table. During the immediately previous 24-hour period (which is a rolling window), BigQuery runs the first 1,000 statements that INSERT into a table concurrently. To prevent system overload, INSERT DML statements over this limit will be queued while allowing a fixed number of them to run concurrently. Once a previous job finishes, the next PENDING job is de-queued and run. Once it starts queuing, BigQuery allows up to 100 INSERT DML statements to be queued against the table.Best practices for DML statementsBigQuery can scale to arbitrarily large mutations. With the changes described above, DML support offered by BigQuery works well with smaller size mutations as well. In general, the number of DML statements that can be executed against a table depends on the time it takes to execute each operation. To get the best performance, we recommend the following patterns:Use partitioned tables if updates or deletions generally happen on older data or on data in a date-localized manner. This ensures that the changes are limited to the specific partitions and can accelerate the update process.Use updates over clustered tables where there is clustering locality on the modified rows—they will generally perform better. This ensures that the changes are limited to specific sets of blocks, reducing the amount of data that needs to be read and written.Group DML operations together into larger ones to amortize the cost of running smaller operations.Avoid partitioning tables if the amount of data in each partition is small, and each update modifies a large fraction of partitions in the table. This reduces the amount of churn on metadata and improves the performance of the updates.Learn more about BigQuery DML.
Quelle: Google Cloud Platform

Azure IoT Introduces seamless integration with Cisco IoT

The pace of technological change is relentless across all markets. Edge computing continues to play an essential role in allowing data to be managed closer to its source, where workloads can range from basic services like data filtering and de-duplication to advanced capabilities like event-driven processing. Gartner estimates that by 2025 75 percent of Enterprise data will be generated at the Edge. As computing resources and IoT networking devices become more powerful, the ability to manage vast amounts of data near the edge will mean infrastructure and operations teams are required to manage more advanced data workloads, while keeping pace with business needs.

Our leadership in the cloud and the Internet of Things is no coincidence and they are intertwined. These technology trends are accelerating ubiquitous computing and bringing unparalleled opportunities for transformation across industries. Our goal has been to create trusted, scalable solutions that our customers and partners can build on, no matter where they are starting in their IoT journey.

What if there was an integrated set of hardware, software, and cloud capabilities that allowed seamless connectivity and streamlined edge data flow directly from essential operations like autonomous driving, robotic factory lines, and oil and gas refinery operations into Azure IoT? This is where Azure IoT is partnering with Cisco to provide to customers a pre-integrated Cisco Edge to Microsoft Azure IoT Hub solution.

Value of the partnership, Microsoft Azure IoT and Cisco IoT

With both Azure IoT and Cisco IoT being known as leaders in the industrial IoT market, we have decided to team up to share the availability of an integrated Azure IoT solution, that provides the necessary software, hardware, and cloud services that businesses need to rapidly launch IoT initiatives and quickly realize business value. Using software-based intelligence pre-loaded onto Cisco IoT network devices, telemetry data pipelines from industry-standard protocols like OPC-Unified Architecture (OPC-UA) and Modbus can be easily established using a friendly UI directly into Azure IoT Hub. Services like Microsoft Azure Stream Analytics, Microsoft Azure Machine Learning, and Microsoft Azure Notification Hub services can be used to quickly build IoT applications for the enterprise. Additional telemetry processing is also supported by Cisco through local scripts developed in Microsoft Visual Studio, where filtered data can also be uploaded directly into Azure IoT Hub. This collaboration provides customers with a fully integrated solution that will give access to powerful design tools, global connectivity, advance analytics, and cognitive services for analyzing IoT data.

These capabilities will help to illuminate business opportunities across many industries. Using Cisco Edge Intelligence software to connect to Azure IoT Hub and Device Provisioning Services enable simple device provisioning and management at scale, without the headache of a complex setup.

Customers across industries want to leverage IoT data to deliver new use-cases and solve business problems.

“This partnership between Cisco and Azure IoT will significantly simplify customer deployments. Customers can now securely connect their assets, and simply ingest and send IoT data to the cloud. Our IoT Gateways will now be pre-integrated to take advantage of the latest in cloud technology from Azure. Cisco and Microsoft are happy to help our customers realize the value of their IoT projects faster than ever before. Our early field customer, voestalpine, is benefiting from this integration as they digitize their operations to improve production planning and operational efficiencies.”—Vikas Butaney, Cisco IoT VP of Product Management

“At voestalpine, we are going through a digital journey to rethink and innovate manufacturing processes to bring increased operational efficiency. We face challenges to consistently and securely extract data from these machines and deliver the right data to our analytics applications. We are validating Cisco’s next-generation edge data software, Cisco Edge Intelligence along with Azure IoT services for our cloud software development. Cisco’s out-of-the-box edge solution with Azure IoT services helps us accelerate our digital journey.”—Stefan Pöchtrager, Enterprise Architect, voestalpine AG

By enabling Azure IoT with Cisco IoT network devices infrastructure, IT, and operations teams can quickly take advantage of a wide variety of hardware and easily scalable telemetry collection from connected assets, to kickstart their Azure IoT application development. Our customers can now augment their existing Cisco networks with Azure IoT ready gateways across multiple industries and use cases, without compromising the ability to implement data control and security that both Microsoft and Cisco are known for.

Please visit Microsoft Azure for more information regarding Azure IoT.

Please visit Cisco Edge Intelligence for more information regarding Cisco IoT.
Quelle: Azure

Important OpenShift Commons Gathering Amsterdam 2020 Update: Shifts to Digital Conference

We’re turning OpenShift Commons Gathering/Amsterdam into a digital conference rather than a live event.
We’re going to deliver our first ever OpenShift Commons Gathering live online with Q&A, and take the Gatherings to a even wider global audience.
We will still share all of our main stage sessions, including OpenShift 4 and Kubernetes Release Update and Road Map with Clayton Coleman, and all of our engineering project leads will still be delivering their “State of” Deep Dive talks. We’re working to enable our case study speakers and other guest speakers to share their talks as well.
We will provide updates here soon and you can register here for the free virtual event and get notified with further details via email about when you can tune in and how to do so.
If you’ve purchased a ticket to the Gathering and any of the workshops, you will receive a full refund.
The full agenda will still be here.
Thank you for your enthusiasm for and participation in the OpenShift Commons community. We couldn’t do this without the ongoing support of our members, sponsors, speakers and staff.
Please Note: As of March 3, 2020, the KubeCon/Eu in Amsterdam (March 30 – April 2) is still happening. CNCF is regularly updating their site with latest Novel Coronavirus Updates here: https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/attend/novel-coronavirus-update/
for relevant information.
The post Important OpenShift Commons Gathering Amsterdam 2020 Update: Shifts to Digital Conference appeared first on Red Hat OpenShift Blog.
Quelle: OpenShift