Competition: Win an STM Grace MacBook accessory bundle worth £78

Macworld has teamed up with STM Bags to offer you the chance to win three of the gorgeous MacBook accessories in the Grace range.

One lucky reader will win a Grace Clutch, Grace Sleeve and Grace Deluxe Sleeve for their MacBook or laptop, in a bundle worth £78.

The Grace Clutch, which retails at £17.99, is a small, slim and stylish way to keep your phone, charging cables and other bits and bobs safe and easily accessible in your bag.

Then there’s the Grace Sleeve, which keeps your MacBook safe without adding any bulk, which retails at £24.95.

And if you want to carry your laptop and your other daily necessities then the Grace Deluxe Sleeve lets you do just that. It retails at £34.95.

If you’d like to get your hands on all three of these accessories, all you need to do is use the giveaway form below to be in with a chance of winning. Simply log in to Gleam to use the entry options. You can choose to enter just once by picking one of the options after signing up below, or you can increase your chances of winning by choosing two or more options. If you already follow us on Twitter or Like us on Facebook, that’ll count too. Simply press the +1 button and follow the instructions provided.

The competition ends at midnight on 7 April and the winner (who will be chosen completely at random) will be notified shortly after. Click here for terms and conditions.

[Source:- Macworld]

Microsoft releases Windows 10 PC April updates KB3147458 and KB3147461

Along with pushing Windows 10 Mobile build 10586.218 to Windows Insiders on the Release Preview ring, Microsoft is also taking advantage of Patch Tuesday to send some new bits to Windows 10 PCs outside of the Windows Insider program. Today’s updates bring KB3147458 and KB3147461 to PCs, bringing them as well to build 10586.218.

We don’t have a changelog for these updates yet, but we’ll let you know as soon as we learn more. Let us know in the comments if you’ve noticed anything new.

 

This update includes quality improvements and security fixes. No new operating system features are being introduced in this update. Key changes include:

Improved reliability for Internet Explorer 11, .NET Framework, wireless LAN, Microsoft Edge, Windows Update, logon, Bluetooth, network connectivity, map apps, video playback, Cortana, USB, Windows Explorer, and Narrator.

Fixed issue with connectivity of USB devices until OS restart.

Improved discoverability of printers when a device resumes from sleep.

Fixed issues with lock screen.

Support for visual voicemail on dual SIM phones.

Fixed issue with audio playback using Groove music and other music apps on a phone.

Fixed issue with revised daylight savings time.

Fixed additional issues with shutdown delays, Narrator, Cortana, roaming data usage, buying apps in the Store, video playback, facial recognition, Bluetooth pairing, Microsoft Edge, logon, Internet Explorer 11, Live Tile updates, .NET Framework, and Microsoft Installer (MSI).

Improved security for CSRSS to address security feature bypass.

Fixed additional security issues with Security Account Manager Remote Protocol,HTTP.sys, secondary logon, Microsoft Graphics component, .NET Framework, CSRSS, Microsoft Edge, and Internet Explorer 11.

[Source:- Winbeta]

GitHub takes aim at downtime with DGit

GitHub takes aim at downtime with DGit

GitHub has rolled out a new feature that it claims will make the widely used code hosting platform far less prone to downtime.

Distributed Git (DGit) uses the sync mechanisms of the Git protocol to replicate GitHub’s repositories among three servers. Should one server go offline because of a mishap or for maintenance, traffic can be redirected to the other two.

Using Git as the replication mechanism provides companies with a little more flexibility than simply mirroring blocks between disks, according to GitHub. “Think of the replicas as three loosely coupled Git repositories kept in sync via Git protocols, rather than identical disk images full of repositories,” says the blog post describing the new system. Read operations can be directed to a specific replica if needed, and new replicas of a given repository can be created if a file server has to be taken offline.

Another advantage to using Git is that GitHub understands the protocol, which is heavily optimized for synchronizing between systems. “Why reinvent the wheel when there is a Formula One racing car already available?” says GitHub. Using Git also means the failover process requires less manual intervention, and failover servers are not simply sitting idle; they’re actively used for serving read operations and receiving writes.

fileservers 1

GitHub

GitHub’s new Git-driven synchronization architecture makes it easier for multiple, redundant copies of repositories to be made available. All the replicas are live, and can serve read-only files and accept writes as needed.

The rollout of DGit has been a gradual process. GitHub ported its own repositories first, testing to make sure they still worked correctly, then started moving third-party and public repositories. Next came the busiest and most heavily trafficked repos, “to get as much traffic and as many different usage patterns into DGit as we could.” Currently, 58 percent of all repositories have been moved. The rest are slated to follow “as quickly as we can,” GitHub says, since moving to DGit is “a key foundation that will enable more upcoming innovations.”

The biggest advantage of DGit is less downtime. Even a small amount of GitHub downtime — whether because of disaster or attacks — leaves many projects and organizations temporarily crippled.

Third parties have addressed GitHub downtime with both complementary products, like Anam.io’s repository backup services, and competing products, like the GitLab open source alternative. But for many organizations, it could be easier to turn to GitHub and its increasingly ambitious enterprise solutions to do the heavy lifting.

 

[Source:- Javaworld]

New Mac mini 2016 release date, specs & feature rumours: Mac mini update due soon

Apple has given nothing away about the new Mac mini yet, but based on past experience and the existing specs of other Macs, it is easy to surmise what to expect from the new Mac mini. We are also pretty sure that the Mac mini will be updated soon as it wasn’t touched at all in 2015. We’ve got all of the new Mac mini rumours and speculation for you right here, so read on for possible specs, features and release date.

If you’re still not certain which Mac is right for you, visit our Mac Buying Guide.

Mac mini 2016 release date: When is the new Mac mini coming out?

Apple last updated the Mac mini on 16 October 2014 after a two year wait, but Mac mini fans are now waiting for the next iteration of the smallest and cheapest Mac, hopefully coming this year. We had expected Apple to announce a new Mac mini in the autumn of 2015, possibly alongside the new iMac with 4K Retina display, or at the same time as the El Capitan launch, but those opportunities have been and gone.

We’re getting impatient, not least because Apple has added new processors to its laptops and desktops, and new Skylake processors have launched since then so even those updated Macs are outdated.

You might also like: Apple rumours and predictions for 2016

We had hoped that Apple’s 21 March event would see the launch of the new Mac mini, but Apple chose not to launch new Macs at all then. Instead, we saw the unveiling of the iPhone SE, the iPad Pro with 9.7in screen and new Apple Watch straps.

The next expected Apple event isn’t until June at WWDC 2016, but Apple could choose to sneak out an unexpected Mac mini before then without hosting a special event to do so. We’ll keep you updated with all of the Mac mini release date rumours right here.

Mac mini 2016 price: How much will the new Mac mini cost?

There are currently three models of the Mac mini available, depending on your budget and your specification needs. The cheapest model currently costs £399, the middle model is £569, and the priciest model is £799.

These prices ware significant because they marked a reduction of £100 compared to its price before the Mac mini came out, previously the cheapest Mac mini was £499, for example. Of course, you’ll need to factor in the price of a monitor, keyboard and mouse with the Mac mini, though.

However, we don’t anticipate Apple reducing the price further with the new model when it launches, so you can expect similar pricing, but hopefully better specs.

What is the Mac mini?

It’s understandable that you might not be aware the the Mac mini even exists – sometimes it looks like even Apple isn’t aware of its presence (if the long gap before the 2014 model was launched is anything to go by).

The Mac mini is Apple’s smallest desktop Mac and also its cheapest Mac, at £399. It’s a full-blown OS X desktop that fits into a self-contained chassis no bigger than a set-top box. An inexpensive living room Mac that lacks the power of even some MacBooks and comes with no keyboard, mouse or display, but one that works perfectly as the centre of your digital home – not least because it comes with HDMI sockets making plugging it into a modern TV a doddle.

There used to be a Mac mini with OS X server available for £849 but Apple removed that option from the line up in October 2014.

 
Don’t forget: when you buy a Mac mini you also need a screen, mouse, and keyboard…

New Mac mini 2016 specs and features: Processor & RAM

It seems likely that Apple had been waiting for Intel to ship the new Skylake chips before launching the new Mac mini, although it is still possible that Apple will opt for the Broadwell chips instead, which would still represent a power boost over the current Haswell processors.

Right now, the entry-level Mac mini features just 4GB RAM as standard, which we think should be ramped up to 8GB in the new entry-level model.

The other big change we hope to see in the new Mac mini is more flash drive options. Currently the 2.8GHz model comes with a Fusion Drive, or you can add 256GB flash storage to that model, or the 2.8GHz model.

While the 500GB hard drive in the current entry level model (and the 1TB hard drive as standard in the £569 model) might appear attractive to some flash, memory is so much faster that we believe it is well worth the compromise of storing additional files on an external hard drive.

However, it seems unlikely that Apple would do away with the hard drive storage option all together as many workgroups choose the Mac mini as a server and will need the extra capacity and lower prices that HD storage makes possible.

New Mac mini 2016 rumours: Design

It’s possible that the Mac mini will get a new design. We’re not expecting a major visual or build redesign, but it is certainly possible that it could get thinner and smaller, especially since it no longer has to accommodate a CD drive.

Right now the dimensions are 3.6cm high, 19.7cm wide, and it weighs 1.22kg. How about a Mac mini that has similar dimensions to an Apple TV (9.8cm wide, 2.3cm high, 0.27kg).

There was some speculation that the reason for the long delay prior to the Mac mini update in 2014 was that Apple was looking at redesiging the Mac mini along the lines of the Mac Pro.

This was probably intended as an April Fool’s Day prank, but we like this render of a flat Mac mini, as seen on Apple User.

Even better, how about a Mac mini that was also an Apple TV! Adding Apple TV functionality to a Mac mini would be a great way of getting the Mac mini into people’s living rooms as a home entertainment device.

 

[Source:- Macworld]

Sputnik automates code review for Java projects on GitHub

Sputnik automates code review for Java projects on GitHub

Sputnik, a new service that performs continuous automatic code reviews for Java, can integrate directly with open source projects hosted on GitHub at no charge.

The service’s underlying software is open source and is hosted on GitHub. Users can contribute to the code directly, or they pull a copy to use on premises, although the convenience of plugging into an existing GitHib repository is a big draw.

Sputnik uses the Jenkins continuous integration server and the Maven and Gradle build systems. It performs code analyses with the Gerrit or Stash code tools, featuring support for Checkstyle, PMD, FindBugs, CodeNarc, JSHint, JSLint, TSLint, and Sonar. Any problems found by those tools are reported back to Gerrit or Stash, although with Sonar, rules generated by that program can be plugged directly into Sputnik’s configuration file. Sputnik’s service version takes care of all the integration with the third-party tools.

Sputnik example reporthttps://sputnik.ci/
Results from a Sputnik build check. The results of various code style-checking applications are aggregated and presented in a single report. Shown here are results from Checkstyle and FindBugs, both for Java.

Aside from supporting generic Java applications, Sputnik can also screen code written in two other languages that run on the JVM, Groovy and Scala. The former,now an Apache Software Foundation project, has carved out a niche in automating servers and business taskflows. Scala, meanwhile, is currently one of the majorfunctional languages, along with Clojure. In theory, Sputnik could add support for other JVM-hosted languages, provided they have code analysis tools that are compatible with Gerrit or Stash.

By default, you use Sputnik by attaching a GitHub repository to it, with GitLab support planned for sometime in the future. Public, open source repos cost nothing to use, but the cost for integrating with commercial GitHub repos is by quote only at this time. Alternatively, a copy of Sputnik can be checked out and set up locally, but that requires manually integration with all the accompanying tools.

 

[Source:- Javaworld]

Microsoft internally testing Windows 10 Mobile build 10586.218, arriving this week?

Microsoft is currently testing a new cumulative update for Windows 10 Mobile (and we assume desktop too) that packs more bug fixes and performance improvements. Last week, the company had build 10586.212 in testing but sources now say build 10586.218 has been promoted to the company-wide ring, meaning Insiders are next in line to receive the bits.

WinBeta can confirm that this new cumulative update fixes a bug on Mobile that involved the apps list not dimming the background when opening and closing apps, making it difficult to read text sometimes. There are likely more bug fixes included in this cumulative patch, so when it arrives keep an eye out on any other fixes.

This new cumulative update may arrive this week if history is anything to go by, as Microsoft is rather fond of releasing new updates on Patch Tuesday (which is tomorrow). Fingers crossed, but in the meantime stay tuned at WinBeta for more news regarding Windows 10 updates, features and more.

 

[Source:- Winbeta]

4 no-bull reasons why Swift on Android won’t come swiftly

4 no-bull reasons Swift on Android won't come swiftly

Is Google eyeing Apple’s Swift language as a possible “first-class citizen” on Android?

It’s a good question, but here’s a better one: How hard would it be for Google to make Swift a viable choice on Android for developers and users? Plus, why would Google undertake such a lengthy and arduous move in the first place?

Here are four reasons why Swift on Android is a tough proposition, as well as the obstacles Google and its developer community would face in making it happen.

It would be difficult on Android’s part

Switching Android to Swift is nontrivial in the same way moving an extended family cross-country is nontrivial. First, Google would have to develop a Swift runtime for Android and deliver it side by side with the existing Java-powered runtime. Google has already done something along these lines — swapping the Dalvik VM for the faster ART runtime — but both were Java-based, so the job was a lot easier.

Even harder would be if Swift were to become the preferred language for Android. Moving to Swift would have to be done incrementally — first with both Swift and Java VMs side by side, then with Swift-only over time. That kind of transition takes years, especially in an ecosystem as well-trafficked and sprawling as Android’s.

Apple faces a similar issue, since it’s needed to keep Swift and Objective-C ecosystems in place side by side for two years now. That’s in a system where Apple controls everything. Imagine the complexities involved with Android, where the carriers, handset manufacturers, and Google are in a three-way tug-of-war.

Finally, this move would require the participation of Android developers — many of whom might not want to come along for the ride.

It would be difficult on the developers’ part

In addition to Google adding Swift to Android, developers would have to pick up on Swift.

Java was chosen for Android in big part to take advantage of the mass of existing Java development resources and programmer expertise. New and relatively untested, Swift doesn’t have the same momentum.

Swift is gaining traction at a healthy pace, though. Developers are clearly getting enthused (as well as IBM), and in April it even cracked the top 20 of the Tiobe languages index (currently at No. 15).

Still, getting developers to ditch a language they know and adopt an entirely new one is no small task — another reason why Swift and Java would have to co-exist in Android for years.

It would shift dependencies from Oracle to Apple

Right now, Android is planning to use OpenJDK rather than Oracle’s Java, if for no other reason than to put more distance between the two companies after Oracle’s ugly Android lawsuit. But there’s little question Oracle still controls the future direction of Java.

Swift, likewise, is Apple’s baby, although it’s been made into an open source project — which is expected to lead to major cross-platform adoption in the long run. Google adopting Swift as a long-term pivot makes sense if the plan is to reduce dependency on a platform and a runtime that’s fraught with proprietary concerns.

But again, there’s little question Swift’s direction is influenced chiefly by Apple. It isn’t likely Google wants to make itself dependent, even if only indirectly, on a key competitor — not even if the technology in question is open source. In theory, Google could fork Swift and take control of the fork, but it would be stuck with the maintenance and management overhead of an entire language.

Switching to Go would be more in line with Google’s thinking

If Google really wants to disassociate itself with third-party languages and runtimes, it wouldn’t ditch Java for Swift. It would make more sense to turn to the language, runtime, and toolchain built in-house: Go, also know as Golang.

Go can already be used for mobile development. Versions 1.5 and up of Golang provided support for both Android and iOS, and with the “app” package, devs can write all-Go apps for both platforms. That said, mobile support for Go is stillclassified as experimental.

If Google intended to make Go or Swift into a complement to Java on Android — let alone replace it — a lot more work would be in order. It’s a safe bet that Android will remain ensconced on Java for a long time to come.

 

[Source:- Javaworld]

Should I buy a refurbished Mac? Why Apple’s Refurbished Store is the best place to find a cheap second hand Mac

Apple makes great computers, but they’re not always the cheapest to buy: a brand-new Mac can be a quick way to empty your bank account. Many Mac buyers therefore look at secondhand options. You can get a great deal by buying a refurbished Apple Mac computer from the Apple Refurbished Store, or by picking up a second hand computer from eBay or from your local Apple reseller.

Which is, of course, if you even know the Apple Refurb Store exists. Buying a new Mac is always a joy, but many people aren’t aware that it is also possible to pick up a price-reduced, refurbished Mac from the Apple website. This guide will show you how to get a great deal on a Mac by checking out the Apple Refurbished store and other reliable outlets.Should I buy a refurbished Mac?

One great trick that every Apple fan should know is how to pick up kit from the Apple Refurbished Store. You can buy refurbished Apple Macs, as well as other Apple products, from this special section of the online store.

 

Refurbished Macs are likely to be returned models (if it is from a previous year), or reconditioned current models. A reconditioned Mac could be an ex-demonstration model used during Apple teaching programmes, or a unit sold to a customer who decided to return it. The returned unit may have been faulty (and fixed) or may simply have been returned under the standard sale-and-returns procedure. (Apple allows any customer to return a Mac bought from the Apple Store within 14 days for a refund – see Standard Returns Policy).

Macs and MacBooks sold through the Apple Refurbished Store are not necessarily old models that have not been sold. Tim Cook has made Apple’s production so tight that the company is rumoured to turn over its entire inventory every five days (only McDonalds has a faster turnover!). So Apple does not need to stockpile its products and Macs sold on the refurb store are second hand.

The important thing to note is that Macs bought from the Apple Refurbished Store are not discernibly different from new ones bought direct from the Apple Store. All Macs bought from the Apple Refurbished Store are cleaned, checked, tested and visually indistinguishable from brand new models.

Buying a refurbished Mac: What is the warranty and returns procedure?

Buying a refurbished Mac from the Apple Refurb Store

Apple states: “Before we put a refurbished Mac, iPod, iPad or Apple TV up for sale in Special Deals, it undergoes a rigorous refurbishment process to make sure it’s up to Apple’s tough quality standards.” (iPhones are not currently sold through the Refurbished Store.)

More importantly, a reconditioned Mac comes with the same one-year warranty (extendable to three years with AppleCare protection.) You also get the same sales and return procedure with Apple, and can return a Mac bought from the Refurbished Store within 14 days if you’re not happy with it – but note you’ll have to post it back, as Apple will not accept returns to a physical Apple Store on refurbished products.

The only noticeable difference from our experience is that any refurbished urb Mac will be packaged in a brown box rather than the white retail box they normally arrive in. Aside from that we have yet to pick up a Mac from the Refurbised Store and find it wanting.

The price for reconditioned Macs changes frequently but is typically 10 to 20 percent less than the original price. With Macs commanding a high retail price this can be quite a difference. For example, a 13.3-inch MacBook Air can be found on the Refurbished Store for £719, a £130 saving on the £849 you’d pay for the exact same model on the Apple Store.

Buying a Mac from the Refurb Store? Check the specifications carefully

Because Many Macs on the refurb store are last year’s models you should check the specifications carefully. It’s worth noting that most new Macs contain the very latest high-end components, so even last year’s model from the Apple Refurbished Store tends to have quite high specification components.

It’s worth taking a look at the Refurbished Store if you deliberately want to pick up an older model. Apple is often quick off the mark to phase out features it deems no longer necessary, such as optical drives, FireWire sockets, replaceable hard drives and so on. So some people may genuinely prefer an earlier model with a feature they don’t quite want to live without just yet.

However, if you catch the Store around six months after a Mac has come out, you’ll find it with money off. Getting a current, top of the range Mac or MacBook for 15% off is surely a great feeling.

 

[Source:- Macworld]

Microsoft could still make Windows Phone a success and here’s how

It’s not a secret that Microsoft’s mobile efforts, currently called Windows 10 Mobile, are in trouble. With a 2.6% market share worldwide, falling sales, and not one single mention at Build, it’s easy to see why.

According to Terry Myerson, the head of Windows, the company’s mobile plans are not somewhere it wants to “lead” in 2016, and potentially beyond. Instead, Microsoft will focus on devices with screens between 9- and 30-inches, a category that Windows 10 caters to perfectly.

More than 270 million people are using Windows 10 across a range of devices and the improvements that Microsoft is making — especially around the Universal Windows Platform (UWP) — mean that the experience is getting better every day. Apps, like Uber or the New York Times, are arriving on Windows 10, plugging the “app gap,” a situation that has plagued the platform for years.

While there is still a long way to go, some of the positives from the UWP are even making their way to Windows phones. This won’t be enough to convince the majority of Android or iPhone owners to switch, but it could appeal to one key market: Businesses.

Essentially, Microsoft is becoming more and more of an enterprise company over a consumer company. It makes the majority of its revenues from selling services, like Azure, to big businesses and loses most of its money on selling Lumia handsets and other consumer stuff.

This strategy is fine because Microsoft makes so much money from enterprise, but the shift to enterprise is there nonetheless. Windows 10, for example, is being adopted at unprecedented rates by businesses and Azure is fast becoming a competitor to Amazon Web Services, which leads the cloud services industry.

For a business, Microsoft is an attractive partner because it provides the whole package. A chief technology officer can simply go to Microsoft and order a few servers, the software to run them, an Office subscription, and Windows licenses — and that’s it. Done.

However, companies are increasingly finding that this strategy has one key element missing: smartphones. Thanks to the rise of Bring Your Own Device (BYOD), employees have been choosing their own smartphone which company IT departments then have to support. This is expensive, time-consuming, and ineffective at scale.

While Apple has been making overtures to companies and has partnered with IBM, there are still a host of Android phones — not to mention different versions of iOS that aren’t the latest — that companies must work with, build software for, and support generally.

Microsoft, up until now, has not been able to offer a compelling solution to this problem. While managing an iPhone or Samsung Galaxy is expensive, it does at least have all the apps a user could want. Windows, however, likely did not. With the introduction of the Universal Windows Platform and its subsequent adoption by developers, that changes.

650back1 Microsoft could still make Windows Phone a success and here's how

Features like Continuum, which can turn a Windows Phone into a desktop computer with a Microsoft-made dock, could appeal to businesses, especially with employees who are on-the-go but need the power of a computer. Neither Apple nor Google has anything like this — beyond a small amount of tie-in between OS X and iOS — and this, really, is Microsoft’s ace in the hole.

Elsewhere, the integration with Office that Microsoft has built into Windows Phone could also be appealing. While Apple and Google have support, Microsoft actually makes Office and the apps on Windows Phones integrate nicely, even with niche features.

Now, in 2016, Microsoft can offer the whole package: software, services, and a compelling smartphone experience that is cheap, easy to manage and works well with all the services Microsoft already offers.

Of course, winning enterprise — if “winning” is the right word — is nowhere near as lucrative as owning the consumer market, as Apple does, and it will likely never be a total Microsoft smackdown. But, it could be a way for the company to get something back from the resources, both in terms of time and money, it has spent on developing Windows Phone.

It may end up that Microsoft is not, in fact, interested in Windows Phone at all. The lack of mentions at Build 2016, for instance, was not a good sign at all. It may be that Satya Nadella has realised that the ship cannot be salvaged, a 2.6% marketshare cannot be overcome, and it is best just to let the platform die slowly and quietly.

Microsoft currently has a range of compelling software on iOS, Android, and Windows for desktop and so, in many ways, it doesn’t matter if Windows Phone lives or dies. But it would likely be nice for Microsoft to be able to turn around and prove the sceptics wrong, especially as there is a broad feeling that missing mobile was one of the company’s biggest mistakes.

The position that Microsoft is in is actually very fortunate, as Windows Phone’s success does not dictate whether the company ultimately lives or dies. Unlike Apple, which derives around 60% of its revenues from the iPhone, the mobile market is not a big factor for Redmond. (Which, it’s worth noting, means Microsoft has missed out on hundreds of billions of dollars.)

The progress Microsoft has made as a company — in terms of culture — and strategically as a business have been good under Nadella, but it would be nice to see Windows Phone, a long-term failed project, succeed and this may be a way for it to do that.

 

[Source:- Winbeta]

MySQL Cluster 7.3 GA: Increasing Developer Flexibility and Simplicity

Highlights: NoSQL JavaScript with node.js, Foreign Keys, and Auto-Tuned Clustering

The MySQL team at Oracle are excited to announce the General Availability of MySQL Cluster 7.3, ready for production workloads.

Some might call MySQL Cluster 7.3 “the foreign keys release” – and sure enough it is a major engineering achievement to build a distributed database that enforces referential integrity across a shared-nothing cluster, while maintaining ACID compliance and cross-shard JOINs. But MySQL Cluster 7.3 is so much more as well – especially if you are developing new JavaScript-based services along with node.

The design focus for MySQL Cluster 7.2 is enabling developer agility – making it simpler and faster than ever to build new services with a highly scalable, fault tolerant, real-time database The key enhancements delivered by MySQL Cluster 7.3 are summarized below.

MySQL Cluster 7.3, Faster & Easier Application DevelopmentFigure 1: MySQL Cluster 7.3, Faster & Easier Application Development

  • NoSQL JavaScript Connector for Node.js: Enables a single programming language and a single tool-chain by extending JavaScript from the client to the server, all the way through to the database, bypassing the SQL layer to deliver lower latency and reduced development cycles.
  • Foreign Keys: Strengthens data modeling and simplifies application logic by automatically enforcing referential integrity between different tables distributed on different shards, on different nodes … even in different data centers
  • MySQL 5.6 Support: Developers can combine the InnoDB and MySQL Cluster NDB storage engines within a single database, using the very latest MySQL 5.6 release.
  • Connection Thread Scalability: Increases cluster performance and capacity by improving the throughput of each connection to the data nodes, thus reducing the number of connections that need to be provisioned, and enabling greater scale-out headroom. Performance testing is showing up to 7.5x higher throughput per connection, enabling more client threads to use each connection.
  • Auto-Installer: Get it all up and running in minutes! Graphically configure and provision a production-grade cluster, automatically tuned for your workload and environment, without ever resorting to “RTFM”.

Lets take a closer look at MySQL Cluster 7.3. You can also get started by downloading the MySQL Cluster Evaluation Guide.

MySQL Cluster NoSQL JavaScript Connector for Node.js

Node.js is hot! In a little over 3 years, it has become one of the most popular environments for developing next generation web, cloud, mobile and social applications. Bringing JavaScript from the browser to the server, the design goal of Node.js is to build new real-time applications supporting millions of client connections, serviced by a single CPU core.

Making it simple to further extend the flexibility and power of Node.js to the database layer, the new JavaScript for Node.js Connector is part of MySQL Cluster 7.3.

With its non-blocking, event-driven asynchronous design, MySQL Cluster is the perfect architectural fit to node in building real-time, distributed services with tens of thousands of concurrent connections. Support for on-line schema changes enable these services to evolve rapidly, without downtime.

Implemented as a module for the V8 engine, the new driver provides node with a native, asynchronous JavaScript connector that can be used to both read and write results sets directly from MySQL Cluster, without transformations to SQL. The benefits are three-fold:

  1. Developers only need to use JavaScript to access the database, enabling rapid development cycles and faster time to market;
  2. The SQL layer is bypassed, delivering lower runtime latency and higher throughput for simple queries.
  3. As the client connects directly to the cluster rather than a MySQL layer, there is no need for any failover handling as this is all handled at the data node layer.

MySQL Cluster NoSQL Connector for Node enables end-to-end JavaScript development

Figure 2: MySQL Cluster NoSQL Connector for Node enables end-to-end JavaScript development

Rather than just presenting a simple interface to the database, the Node.js module integrates MySQL Cluster’s native API library directly within the web application itself, enabling developers to seamlessly couple their high performance, distributed applications with a high performance, distributed, database delivering 99.999% availability.

Developers can re-use JavaScript from the client to the server, all the way through to the database supporting real-time, high-scale services such as:

  • Process streaming data from digital advertising, real-time bidding and analytics systems;
  • Gaming and social networks, powering the back-end infrastructure for serving mobile devices.

As an added benefit, you can direct the connector to use SQL so that the same API can be used with InnoDB tables.

The JavaScript Connector for Node.js joins a growing portfolio of NoSQL interfaces for MySQL Cluster, which already include Memcached, Java, JPA and HTTP/REST. And of course, developers can still depend on SQL to execute complex queries and access the rich ecosystem of connectors, frameworks, tooling and skills.

Whichever interface is chosen for an application, SQL and NoSQL can be used concurrently across the same data set, providing the ultimate in developer flexibility. Therefore, MySQL Cluster may be supporting multiple applications, each with different query models and access patterns:

  • Relational queries using SQL;
  • Key/Value or Key/Object based web services using Node.js, Memcached or REST/HTTP;
  • Enterprise applications with the ClusterJ and JPA connectors;
  • Ultra low-latency services using the C++ NDB connector.

Learn more by reading the MySQL Cluster with node.js tutorial.

Foreign Keys

Foreign Key (FK) support has been one of the most requested enhancements to MySQL Cluster – bringing powerful new functionality while eliminating development complexity. FKs in MySQL Cluster enable new use-cases including:

  • Packaged applications such as eCommerce and Web Content Management or 3rd party middleware that depend on databases with Foreign Key support;
  • Custom projects requiring Foreign Key constraints to be implemented at the database layer.

Implementation

The definition and behaviour of FKs largely mirrors that of InnoDB, allowing developers to re-use existing MySQL skills in new projects.

FKs are enforced within the MySQL Cluster data nodes, allowing any client API accessing the cluster to benefit from them – whether they are SQL or one of the NoSQL interfaces (Memcached, C++, Java, JPA, HTTP/REST or the new JavaScript for Node.js API).

The core referential actions defined in the SQL:2003 standard are implemented:

  • CASCADE
  • RESTRICT
  • NO ACTION
  • SET NULL

In addition, the design supports online adding and dropping of Foreign Keys, enabling the database to continue serving client requests during DDL operations.

Configuration and Getting Started

There is nothing special you have to configure – FK constraint checking is enabled by default.

If you intend to migrate existing tables from another database or storage engine, for example from InnoDB, the DBA should drop FK constraints prior to the import process and then recreate them when complete.

MySQL Workbench can be used to view the relationships and FK constraints between tables, as demonstrated in the figure below. The engineering team are working on the ability to introduce constraints between existing tables within Workbench.

Viewing MySQL Cluster FK Constraints with MySQL Workbench

Figure 3: Viewing MySQL Cluster FK Constraints with MySQL Workbench

Learn more by reading this blog for a demonstration of using Foreign Keys with MySQL Cluster.

MySQL 5.6 Support

The SQL layer of MySQL Cluster 7.3 is based on the latest MySQL 5.6 GA release, enabling developers to take advantage of enhanced query throughput and replication robustness.

Enhanced Optimizer for Improved Query Throughput

The MySQL 5.6 Optimizer has been re-factored for better efficiency and performance, and provides an improved feature set for diagnostics. The key MySQL 5.6 optimizer improvements include:

  • Subquery Optimizations: Using semi-JOINs and materialization, the MySQL Optimizer delivers greatly improved subquery performance, simplifying how developers construct queries;
  • Multi-Range Reads: Improves query execution times by returning data more efficiently.
  • Better Optimizer Diagnostics: Enhanced EXPLAIN output and traces for tracking the optimizer decision-making process.

Cross-Data Center and Cross-Database Replication Flexibility

MySQL Cluster uses the MySQL Server’s replication for geographic distribution of clusters, enabling users to:

  • Mirror complete clusters across regions for disaster recovery;
  • Replicate data from the MySQL Cluster NDB storage engine to InnoDB or MyISAM slaves, typically for active archives or report generation.

MySQL 5.6 includes the broadest set of replication enhancements ever delivered in a single release, with key features available to MySQL Cluster 7.3 including:

  • Replication event checksums to detect and prevent corrupt data being replicated between clusters;
  • Crash-safe, transactional replication, providing self-healing recovery in the event of an outage in the replication channel between clusters;

It is worth noting geographic replication in MySQL Cluster is active/active (multi-master) – so two remote clusters can both service write requests.

For readers new to MySQL Cluster, Multi-Site Clustering can be used as an alternative to geographic replication when splitting a single cluster between data centers – though it should be noted that the datacenters should be connected via high speed, high quality WAN links.

This flexibility in cross-data center replication makes MySQL Cluster very popular for those applications that rely on the geographic distribution of data – for example PayPal’s fraud detection system is deployed on MySQL Cluster, spread across five Amazon Web Services regions.

Mixing and Matching with InnoDB

MySQL’s pluggable storage engine architecture enables developers to configure InnoDB or MySQL Cluster alongside each other in a single application, determined by the attributes and access patterns of each table.

It is not uncommon to find most tables configured to use InnoDB, while those that have the highest write loads, lowest latency or strictest availability requirements configured to use MySQL Cluster.

With support for MySQL 5.6 across both InnoDB and MySQL Cluster, developers can take advantage of the latest MySQL Server, whichever storage engine they are using.

Connection Thread Scalability

To fully exploit the distributed architecture of MySQL Cluster, users are advised to configure multiple connections between their MySQL Servers or API nodes to the data nodes. This allows MySQL Cluster to execute many more simultaneous operations in parallel.

Each of the connections to the data node layer consumes one of the 256 available node-ids, which in some scenarios can cap the scalability of the cluster.

MySQL Cluster 7.3 increases the throughput of each connection so that fewer connections (and therefore node-ids) are needed to service the same workload. Performance testing shows up to 7.5x higher throughput per connection depending on workload, enabling more client threads to use a single connection.

As a result of Connection Thread Scalability, more nodes can be added to the Cluster to further scale capacity and performance without hitting the 256 node-id limit.

MySQL Cluster GUI-Based Auto-Installer

The Auto-Installer makes it simple for DevOps teams to quickly configure and provision highly optimized MySQL Cluster deployments. Developers can spend more time innovating in their code, rather than figuring out how to install, configure and start the database.

Implemented with a standard HTML GUI and Python-based web server back-end, the Auto-Installer intelligently configures MySQL Cluster based on application requirements and available hardware resources, stepping users through each stage of cluster creation:

  1. Workload Optimized: On launching the browser-based installer, users can specify the throughput, latency and write-load characteristics of their application;
  2. Auto-Discovery: The Installer automatically discovers the underlying resources available from the local and remote servers that will make up the Cluster, including CPU architecture, cores and memory.

With these parameters, the installer creates optimized configuration files and starts the cluster.

Automated Tuning and Configuration of MySQL Cluster

Figure 4: Automated Tuning and Configuration of MySQL Cluster

The user remains in complete control of the installation:

  • Individual configuration parameters can be modified by the user;
  • The user may override the topology defined by the installer, specifying which hosts run each of the cluster processes;
  • The Cluster can be remotely started and stopped from a single browser window.

Developed by the same engineering team responsible for the development of the MySQL Cluster database, the installer provides standardized configurations that make it simple, quick and easy to build stable and high performance clustered environments.

DevOps maintains complete control over Cluster configuration and deployment

Figure 5: DevOps maintains complete control over Cluster configuration and deployment

 

[Source:- Dev.msql]